面试题目:
有n个数,n-1个重复偶数次,1个出现奇数次,怎么找出出现奇数次的那个数
这个问题是一个同事面试时问到的题目,我觉得很有趣,就拿来自己用了,题目的答案在最下面。
在看这个问题前,先聊聊一个前端面试一个问题
前端面试是否考察算法
大概2年前,我在微博上面看到两位大牛的争论:
@pureFE对@真阿当 说:阿当哥你好:我是一名在校学生,文科专业。前一段找实习的过程中注意到一些公司有算法要求。对于前端来说,专业知识的补习路线应该如何安排,应该像计算机专业那样从C、数据结构等等开始吗?对于前端开发者来说,专业知识应该达到何种程度才是合格?不知您能否指点一二,感激不尽!
@真阿当: 前端在实战中对算法和数据结构几乎没有要求,在你当下的境况学习这些知识对你找工作一点帮助也没有。前端开发的门槛低,所以有很多非科班出身的人从这个领域进入IT圈,你无需为“非科班出身”背上压力。为找工作的话,建议最快的路线是:先学css、后学一些基础js书……
@寒冬winter:100%反对。
回复@真阿当: 阿当你经常说前端工程师应该团结起来加强影响力,你就是这么让大家加强的么?没有算法能力,前端工程师怎么去实现新的交互效果?没有数据结构知识,前端工程师怎么处理大数据?没有这样的能力,前端怎么去承担更重要的职责?
@真阿当:算了,不争了,我该表达的都表达完了。求同存异。我的言论也只代表我个人看法,不保证一定是对的,各人有各人自己认同的发展路线。更倾向于哪种观点,决策权在诸位自己手上,冷暖自知谁也替不了你。不要动不动就“误人子弟”帽子扣下来,我担不起,也不想担。一家之言,说的是自己的真实感想。到此为止
@真阿当回复@糕富帅是我的人生理想:恩,是的,我说过要想前端能走得远一些,至少用原生js锻炼半年以上。我说的是“如何成为一个高级工程师”,而不是“如何跨入门槛”。绝大多数公司在面试时只会看这个人“在这个领域的基本功”怎么样,过不了这一关,跨不过入行的门槛。所以要先学会怎么通过面试。
@寒冬winter:目前为止我好像没听说哪个前端因为学习计算机基础知识耽误了专业技能,从当年51js我认识的人来看,基础好的无一例外几年后立于