ACM金牌选手,后任职Facebook高级架构师,拿过国内几乎一二线互联网公司的offer,以及10+北美国内顶尖IT公司offer,面试超过200人。
从当年的准备面试到后来的面试别人,一个最大的感触就是“面试最难二叉树”的年代已经过去了。
最主要是因为很多公司面临业务和技术的发展,必须在前来面试的上千候选人中挑选出匹配的人。面试的题目不是为了考察你会不会什么,而是为了考察你有没有解决问题的能力。
根据我以往的经验来看,每个公司都会根据自己的业务需求创建一个专属的面试题库。我也爆肝各大面经和企业的面试题库,为同学整理出了国内各大厂对算法知识点的不同考察频率,以及不同公司的面试中的高频题。
本文中的所有题目以及题解均上传在Github的仓库中啦,并且附上了我整理的一份“高浓度精华”算法模板,遇到不会的题目直接套用模板基本就可以解决,戳我直达Github!
拿下offer并不是比你懂得多,而是在刷题的过程中学会了解决问题的办法。想要快速培养自己这方面的能力,针对性地刷题是见效最快的,也是必须要做的。
国内大厂
1. 阿里巴巴
① 考察知识点
重点考察动态规划、其次是字符串处理、二分法、数组和分治法。注重在问题回答的扩展程度,以及实践经验。当然,对自己做过的项目一定要深入,包括使用使用到的技术原理、为什么要使用这些技术。
② 必刷题目
字节跳动
① 考察知识点
字节跳动考察的知识点并不会很多,就四个知识点:字符串、map、rand、perfix sum。但是会深挖一个知识点,难度比较大。
在做题目的时候注重候选人的四个能力:算法能力、重原理(基础)、实践能力、未来的潜力。
② 必刷题目
腾讯
① 考察知识点
算法题分布主要在动态规划、数学以及贪心。腾讯的算法面试不会有很多花样,都比较常规,所以只要踏踏实实刷题把算法的原理以及应用场景掌握就行了。
在面试中的加分项是你的项目以及比赛经历,面试官会根据项目中的方法以及项目优化这些方面进行拓展提问。
② 必刷题目
美团
① 考察知识点
动态规划,双指针,单调栈,栈,模拟法,在面试前最好去弄懂如何处理高并发这类事情,以及数据库的分库分表,底层实现,索引优化。
② 必刷题目
刷题的数量不是做题的最终目的,最重要的是从刷题中学会解决问题的方式,希望大家在自己的总结中不断提升自己的算法能力,最终能拿到心仪的offer!