阅读本文大概需要 4 分钟。
17年7月份,我参加了百度的实习生面试,随后在百度开始了半年的实习生活,18年7月份,我参加了百度的校招提前批面试,由于可以同时参加百度多个部门的提前批面试,结果我前前后后面试了10多次,也算是一段比较奇葩的经历了。
当然,实习生面试是这里面最简单的一次了,三轮面试,前两轮都是在问基础,问的也不深入,第三轮面试则直接谈人生谈理想。其实百度的日常实习生面试难度确实比校招要来的容易,因为百度一年四季都在招实习生,反观阿里和腾讯,只有在春招期间招收实习生。
既然上面的面试难度不太具有代表性,那么我还是来说说秋招的百度面试经历吧。
大家都知道,阿里内部用Java居多,腾讯内部用C++居多,而百度内部的语言则是五花八门,Java、C++、Python、PHP,都有一定数量的人在用,所以百度的面试题也会比较杂,什么都有可能考,但亦不会考的特别难。
手写算法是百度秋招必考的一个环节,我那时候都是电话面试,所以直接是用在线写代码的网站来做题的(面试官可以实时看到你的代码情况)手写算法一般是压轴环节,也就是面试官问完基础题,就会开始让你写算法题。
题目的难度也不尽相同,有的面试官让我写过二叉树相关的简单题,也有面试官让我写DFS、BFS的题目,当然,多数题目还是剑指offer上的题目,以及基础题:字符串问题、快排、二分查找、二分查找变式等。
值得一提的是,面试官会允许你在本地IDE进行调试,这样一来可以节省你的时间。
在开始写代码前,面试官一般会先问你的思路,假如他没有问,那你也要主动告诉他,要知道,考察算法题的时候,和面试官的有效沟通也是一个很重要的考察点,否则你可能会漏掉关键信息,以至于无法完成后续答题。
当然,打铁还需自身硬,最关键的一点是,你需要花大量时间刷题,积累经验,保持做题手感,剑指offer上的题目基本要掌握,LeetCode的经典题型必须重视,刷题是一件你需要不断坚持的事情,就和考研前需要不断做数学题一样,都是一个道理。
讲了这么多关于手写算法方面的内容,可能你已经萌生退意了,那我们还是把话题移回到简单粗暴的基础问题吧,计算机网络、操作系统、数据结构这三门课程,百度一样喜欢考,不过难度适中,一般只会考比较基础的问题,比如TCP/IP三次握手、四次挥手,线程和进程的区别,内存管理方式等等。
最后要说的是,百度最喜欢考察的一类题目,叫做海量数据问题,虽然现在越来越多公司都喜欢考这个,但是百度可以说是这类题目的创始人。
所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导致无法一次性装入内存。
如果大家对这块内容感兴趣,那么我推荐一个大牛的博客,对这方面内容做了很全面的整理,可能很多人已经看过:
https://blog.csdn.net/v_july_v/article/details/7382693
关于百度面试的内容,我就总结这么多了,当然,大部分是针对校招同学的面试题,至于社招的朋友,则更多地会和部门需求匹配,考察的重点也不再是上述这些基础知识和算法题了。
如果仍有疑问,也可以留言参与互动噢。
一介码农,尚能写作,我是黄小斜,不是黄老邪噢
你点的每个好看,我都认真当成了喜欢