论坛首页 招聘求职论坛

通过一道简单面试题看国内java程序员基本水平

浏览 24731 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (2)
作者 正文
   发表时间:2011-04-11   最后修改:2011-04-11
一道简单的Java面试题
http://www.iteye.com/topic/996006

今天一看,基本代码都是"废材"
一个自称数学系的代码,一看效率基本是穷举...
我的思路是 删选+6N
100内的数何必初到100的任何素数呢,到7内素数就行,同理1000000的数,除到1000内的素数就行了,
步长居然是2,慢了3倍。 。。。。
我只是一个2000+ 一个月的,小小计算机维护人员。
   发表时间:2011-04-11  
总体来说,应聘人员如果不是之前的工作和数学比较紧密,那么效率可能都不是很高。
因为日常开发中,国内Java职位大多都是管理系统类的。这些方面用到这些算法的可能性很少,如果不是业余有兴趣,或者没忘掉学校学习的数学知识。那么最多是能答出来,效率就不要太苛求了。说真的,现在学校教数学感觉就是为做题,和实际联系太少。出计算题会做。换个方式描述成现实问题有人就不知道拿哪些数学知识套了。
除非该职位明确要求要很高的应用数学能力,不然更多的考察点还是在编码习惯、代码结构上。只要代码组织的好,算法可以很容易替换。
0 请登录后投票
   发表时间:2011-04-11  
从逻辑上说穷举没有问题

你从数学上来优化 确实体现了 观察力和数学基础

但从程序角度来说,穷举没有逻辑错误。

标题从 "通过一道简单面试题看国内java程序员基本水平" 改成 "通过一道简单面试题看国内java程序员基本数学水平"

的话我就不回帖了。
0 请登录后投票
   发表时间:2011-04-11  
高中数学从来没及格过,目前还在IT行业里继续活着的人,飘过~
0 请登录后投票
   发表时间:2011-04-11  
我只是想说,中国是个复杂的国家,从程序员的水平就可以看出一个国家的状况。。。。
高手很多很多,不然也不会ACM世界冠军都被中国拿来。。。但是不懂基础知识的“车床”工人也是很多很多。。。。就像中国富人很多很多,穷人也是更多更多。。。。
0 请登录后投票
   发表时间:2011-04-11  
cttnbcj 写道
一道简单的Java面试题
http://www.iteye.com/topic/996006

今天一看,基本代码都是"废材"
一个自称数学系的代码,一看效率基本是穷举...
我的思路是 删选+6N
100内的数何必初到100的任何素数呢,到7内素数就行,同理1000000的数,除到1000内的素数就行了,
步长居然是2,慢了3倍。 。。。。
我只是一个2000+ 一个月的,小小计算机维护人员。


Iterator<Integer> it=list.iterator();
		while(it.hasNext()){
			int x=it.next();

			if(x>(n/x))
				break;
			if(n%x==0)
				return false;
		}


这是翻开 找到 以前刚学java的时候 的代码
很早以前 就知道
if(x>(n/x))break;
这个东西了,是不是说那时候我的人就牛B的不得了了,
没撒特别的而已,只是大家没有认真想而已。
这就看出水平来了,
你的水平可真高
0 请登录后投票
   发表时间:2011-04-11  
神之小丑 写道
cttnbcj 写道
一道简单的Java面试题
http://www.iteye.com/topic/996006

今天一看,基本代码都是"废材"
一个自称数学系的代码,一看效率基本是穷举...
我的思路是 删选+6N
100内的数何必初到100的任何素数呢,到7内素数就行,同理1000000的数,除到1000内的素数就行了,
步长居然是2,慢了3倍。 。。。。
我只是一个2000+ 一个月的,小小计算机维护人员。


Iterator<Integer> it=list.iterator();
		while(it.hasNext()){
			int x=it.next();

			if(x>(n/x))
				break;
			if(n%x==0)
				return false;
		}


这是翻开 找到 以前刚学java的时候 的代码
很早以前 就知道
if(x>(n/x))break;
这个东西了,是不是说那时候我的人就牛B的不得了了,
没撒特别的而已,只是大家没有认真想而已。
这就看出水平来了,
你的水平可真高

你毕业那会遇到那个贴的楼主就好了,他会给你开10k以上的。
0 请登录后投票
   发表时间:2011-04-11  
WEB应用程序员和算法程序员是不同的职业

最重要是,淡定区分程序员和中国程序员

0 请登录后投票
   发表时间:2011-04-11  
那么多垃圾系统能堆起来,真是不足为奇. 所以说咱这行,叫民工行业.
建筑工地能砌砖的民工,社会价值远不是垃圾程序员能比得上的.
0 请登录后投票
   发表时间:2011-04-11   最后修改:2011-04-11
给定数N,求N以内的素数,最高效的简单方法是查表法。
不计2,从3开始,每个奇数i只要除以3到小于等于floor(sqrt(i))的素数即可,
量很小,平均每个奇数测试sqrt(i)/ln(i)次取模。sqrt有很高效的计算方法-0x5f3759df by Carmack。

复杂的可以用各种素数测试方法,虽然误差很小一般几十、百万分之一,但是一般不能保证100%的测试正确
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics