您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
互联网公司最常见的面试算法题有哪些?
算法,数值,具体互联网公司最常见的面试算法题有哪些?
发布时间:2016-12-08加入收藏来源:互联网点击:
比如腾讯优图的面试题:
给你8颗小石头和一架天平,其中7颗石头重量是一样的,另外一个比这7颗略重。请问在最坏的情况下,最少要称量几次,才能把这颗最终的石头找出来?
最简单的方法是挑出两颗,把剩下6颗分成两份称重,如果一样重,则再称一下挑出的那两颗即可,如果不一样重,排除较轻的三颗,剩下3颗挑一颗出来,称其余两颗。如果一样重,则挑出的那颗便是,如果不一样重,重的那颗便是。所以答案是两次。
淘宝的面试题:
假设淘宝一天有5亿条成交数据,求出销量最高的100个商品并给出算法的时间复杂度。
看似是考察查找算法的,但是因为询问了时间复杂度,所以要多想一步,如何优化?针对具体问题,可以把5亿条数据分组来存放,这样就可以分别在每个文件的1000000个数据中,用哈希以及堆来统计每个区域内前100个频率最高的商品,最后求出所有记录中出现频率最高的前100个商品。
4、岗位需要的具体算法
这一类型的考察比较深入,以自然语言处理(NLP)岗位为例,在算法考察的过程中肯定不会简单的考察搜索等问题,可能直接考察word2vec的huffman tree 和negative sampling的目的是什么,另外还有机器学习领域的AUC曲线、PRF值能衡量什么等问题。
比如阿里巴巴机器学习算法面试:
学习过程中出现过拟合现象该怎么办?
1)重新清洗数据,有可能是因为数据不纯导致的过拟合。
2)增大数据的训练量,用于训练的数据量可能太小。
3)采用正则化方法,包括L0正则、L1正则和L2正则,在机器学习中一般使用L2正则。
4)采用dropout,这个方法在神经网络里面很常用,通俗一点讲就是在训练的时候让神经元以一定的概率不工作。
当然不同的应聘简历、不同的面试官都会导致问题的侧重有所区别,但万变不离其宗,尤其是前两种最常见的算法,一定不可以大意。
三、应对算法面试的解决方案
总结一下方法论,面试之前可以参考下面几个方式来提高面试成功的概率。
1、书本知识储备
在备战算法面试的过程中,首先还是要打牢基础,现在市面上有大量的针对面试算法的书籍,像《算法导论》、《编程珠玑》、《编程之美》都是不错的经典教材,在这里推荐一本面试经典算法题集锦——《剑指 offer》,这是一本实战类的讲解书,很贴近实际,很实用很接地气,其次像《程序员面试宝典》上面也都是常见的面试题目。
2、视频手把手教学
很多技巧性的东西是书本上难以描述清楚的,但通过视频学习可以准确领悟老师的思想,比如慕课网上应对面试算法题的课程视频就有很多,“玩转算法面试 leetcode题库分门别类详细解析”、“程序猿的内功修炼,学好算法与数据结构”以及“看的见的算法 7个经典应用诠释算法精髓”,一线老师手把手为你揭秘算法面试的诀窍,这比自己领悟要来的快得多。
3、日常练习实践
纸上得来终觉浅,绝知此事要躬行。平时有时间一定要多刷一刷 leetcode、hihocoder,这这两个算法习题网站上很多题目思考起来还是很有意思的,也非常有代表性,因为在面试算法的过程中经常有要求现场码代码,虽然说不用完全按照编程语言的语法来写,但不勤加练习的话,也很难在现场完美表现。
最后提醒各位面试者:从面试算法题中找出“正确”回答固然重要,但是面试官更想从中看到面试者合理的思考方向,而且算法面试优秀不意味着能够拿到Offer,想要得到心仪公司的Offer还是要脚踏实地学好每项技能,到时无论是什么考察方式都将是小菜一碟。最后祝各位面试的程序员早日找到心仪的工作~
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |