关于淘汰85%查看面试官百度开发者面对的问题

关于淘汰85%查看面试官百度开发者面对的问题

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

刚在网上看到一篇文章。标题为 一道淘汰85%面试者的百度开发人员面试题。感觉好难的样子,就默默的进去看了一下。首先来看一下原题吧。

作者:王奎      博客:www.marksaas.com

题目描写叙述:

依序遍历0到100闭区间内全部的正整数,假设该数字能被3整除,则输出该数字及‘*’标记。假设该数字能被5整除,则输出该数字及‘#’标记;假设该数字既能被3整除又能被5整除,则输出该数字及‘*#’标记。

提示:

这道看似很easy的题目。却潜藏着几个玄机。面试官通过这道题,考察学生在语法、语义、语用以及算法优化方面的能力。

现实告诉我们,通过这一道题目,就能够淘汰85%的面试者。看似残酷的考察方式,却也体现出学生在基础知识、动手能力到思维能力上的差距。

须要注意的考察点:

– 语法:语法的正确书写。包含格式
– 语义:对循环、分支等语义的理解与掌握
– 语用:对变量命名、表达式及语句的组合使用
– 算法优化:假设要提高执行效率。能够在算法上寻找突破口,也能够採用空间换时间的通用原则。

猛一看题目确实不难,但easy犯晕,我的第一思路是直接三个if语言搞定,但细致想想会有反复输出。比如,15能被3和5整除,推断的时候就会出问题。可是自学拍一下if语句就没啥问题了,比如,把推断既能被3整除又能被5整除放在一个条件推断,以下来看一下详细的代码吧。

/*
	@author marksaas
	@blog www.marksaas.com
	@time 2014-4-24
	timu依序遍历0到100闭区间内全部的正整数,假设该数字能被3整除。则输出该数字及‘*’标记。
	假设该数字能被5整除。则输出该数字及‘#’标记;假设该数字既能被3整除又能被5整除。则输出该数字及‘*#’标记。

*/public class Baidu{ public static void main(String[] args){ for(int i=1;i<100;i++){ if(i%3==0&&i%5==0){ System.out.println(i+"*#"); }else if(i%3==0){ System.out.println(i+"*"); }else if(i%5==0){ System.out.println(i+"#"); } } }}

第二个思路是先推断一下能否被3整除。在内层循环中再推断能否被5整除,假设能就输出,当然首先要定义一个中间量。。还是直接看代码easy理解。

。。

/*
	@author marksaas
	@blog www.marksaas.com
	@time 2014-4-24
	timu依序遍历0到100闭区间内全部的正整数,假设该数字能被3整除,则输出该数字及‘*’标记;
	假设该数字能被5整除。则输出该数字及‘#’标记;假设该数字既能被3整除又能被5整除,则输出该数字及‘*#’标记。
*/
public class Baidu{
	public static void Print(){
		String result="";
		for(int i=1;i<=100;i++){
			if(i%3==0){
				result=i+"*";
				if(i%5==0){
					result+="#";
				}
				System.out.println(result);
				continue;
			}else if(i%5==0){
				result=i+"#";
				System.out.println(result);
			}

		}

	}
	public static void main(String[] args){
		Print();
	}
}

感觉这道题就用if条件来推断即可了,什么高大的算法也不用。。

假设有更好的思路,欢迎探讨。请看关于本站 

 

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117630.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android之viewstub用法详解及实现延迟加载

    这一篇是接着上面的include标签的例子来讲的,地址http://blog.csdn.net/jason0539/article/details/26131831 上一篇的布局中间就用了viewstub这个控件,现在来说一下其作用和用法” ViewStub 是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,避免资源浪费,在需要的时候才加载View”需

    2022年3月11日
    74
  • linux修改用户权限与所属组_linux修改用户组的权限

    linux修改用户权限与所属组_linux修改用户组的权限如何在linux下修改组权限chmodg+rpath/file加读权限当前目录chmod-Rg+rpath/file加读权限当前目录以及子目录g-r减读权限g+w加写权限g-wg+x加执行权限g-x经常会用到的命令,记一下。1.chgrp修改文件所属组#简单使用,将文本test.txt所属组改为gourp1chgrpgourp1test.txt2.chown修改文件拥有…

    2025年10月26日
    3
  • 微信个人号机器人

    微信个人号机器人前段时间公司需求开发一套自定义的微信机器人,需求是可以自批量添加好友,自动聊天,自动回复,发朋友圈,转发语音,以及定时群发等,还可以提取聊天内容,进行数据汇总,what????微信还可以这样做!!调研开发了3个月,3个月啊!!!(主要被各种技术走偏路),终于成功了,都是走过的心酸泪,分享给大家,大家学习完,记得给我点个赞!!!大家一般需求点无非是以下几个需求:1.开发个人微信营销系统2.开发自定义的微信机器人,3.开发微信智能聊天客服系统4.定制行业内的群数据分析功能需求很

    2022年5月7日
    48
  • 相机标定(一)-原理及内参、外参

    相机标定(一)-原理及内参、外参在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。…

    2022年5月28日
    45
  • mt4历史数据回测_mt410年历史数据

    mt4历史数据回测_mt410年历史数据这个网站只能下载2001年-当前时间前一个月的数据,还是挺全的。但是下载下来之后好像是一分钟图的,妈蛋其实我想要1小时图的EURUSD历史数据。网站地址:http://www.fxfupan.com/datacenter.html它们网站上的复盘大师可以试下,回去我就试下看看他们的软件怎么样刚才找到一个更好的,上面的东西可以不必看了。福汇官方有个历史数据下载器软件(初阶免费),登录自己的福汇账号,…

    2022年8月15日
    5
  • ANDROID自己定义视图——onLayout源代码 流程 思路具体解释[通俗易懂]

    ANDROID自己定义视图——onLayout源代码 流程 思路具体解释

    2022年1月27日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号