在面试中,算法题目是必须的,通过算法能够看出一个程序员的编程思维,考察对复杂问题的设计与分析能力,对问题的严谨性都能够体现出来。
去年,有位学长参加秋招的时候,拿到了字节跳动、快手、阿里、美团……等等 7 家大厂的 Offer,在此之前,学长一直“默默无闻”,基本可以说是在秋招一战成名,成为众多学弟学妹羡慕的对象。
今年,伴随着疫情的影响,就业形势并不乐观,春招也早已过去,毕竟毕业之后的第一家公司,决定了以后工作的起点。为此,我们特意邀请了这位学长来做了分享,因为他最后选择了字节跳动,就以字节跳动为例,分享了一些经验:
1. 字节跳动并不会特别关心候选人使用什么编程语言,逻辑很简单,你 Java 特别厉害,那转 Go 语言肯定不难。当然,如果你觉得难,那大概率也通不过后面的面试。
2. 在整个的面试流程中,至少会有 3 轮技术面,并且每一轮面试都会考算法。不管你是工程师,还是架构师。
3. 为啥要考这么多算法?其实核心是看候选人是不是足够聪明。和 Netflix 一样,字节跳动招聘工程师的必要条件就是聪明。
4. 怎么考算法呢?一般会分两步,第一步是直接让你说思路,第二步是让你直接上手写代码。字节跳动的算法题一般对应的是 LeetCode 中级模式,要通过面试,你肯定得花时间好好准备。
5. 写算法代码的时候,你可以用白板,也可以用电脑,都行。常见的模式是给你 20 分钟时间,让你写出来某道题的解法。当然,肯定是越快做出来越好,这能说明你的熟练程度。
6. 如果题目没做出