百度面试两板斧:手写算法问基础

简介: 阅读本文大概需要 4 分钟。17年7月份,我参加了百度的实习生面试,随后在百度开始了半年的实习生活,18年7月份,我参加了百度的校招提前批面试,由于可以同时参加百度多个部门的提前批面试,结果我前前后后面试了10多次,也算是一段比较奇葩的经历了。

阅读本文大概需要 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


关于百度面试的内容,我就总结这么多了,当然,大部分是针对校招同学的面试题,至于社招的朋友,则更多地会和部门需求匹配,考察的重点也不再是上述这些基础知识和算法题了。


如果仍有疑问,也可以留言参与互动噢。




一介码农,尚能写作,我是黄小斜,不是黄老邪噢



你点的每个好看,我都认真当成了喜欢

相关文章
|
1月前
|
开发框架 算法 搜索推荐
C# .NET面试系列九:常见的算法
#### 1. 求质数 ```c# // 判断一个数是否为质数的方法 public static bool IsPrime(int number) { if (number < 2) { return false; } for (int i = 2; i <= Math.Sqrt(number); i++) { if (number % i == 0) { return false; } } return true; } class Progr
58 1
|
10天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
28 0
|
28天前
|
算法
覃超老师 算法面试通关40讲
无论是阿里巴巴、腾讯、百度这些国内一线互联网企业,还是 Google、Facebook、Airbnb 等硅谷知名互联网公司,在招聘工程师的过程中,对算法和数据结构能力的考察都是重中之重。本课程以帮助求职者在短时间内掌握面试中最常见的算法与数据结构相关知识点,学会面试中高频算法题目的分析思路,同时给大家从面试官的角度来分析算法题的解答技巧,从而更有效地提升求职者的面试通过率。
15 3
覃超老师 算法面试通关40讲
|
1月前
|
存储 算法
【数据结构与算法】【腾讯阿里链表面试题】算法题--链表易懂版讲解
【数据结构与算法】【腾讯阿里链表面试题】算法题--链表易懂版讲解
|
1月前
|
存储 机器学习/深度学习 算法
python常用算法,新手必会,面试必出
python常用算法,新手必会,面试必出
37 0
|
1月前
|
存储 算法 Java
【数据结构与算法】2、链表(简单模拟 Java 中的 LinkedList 集合,反转链表面试题)
【数据结构与算法】2、链表(简单模拟 Java 中的 LinkedList 集合,反转链表面试题)
42 0
|
2月前
|
机器学习/深度学习 算法 Java
递归算法还有哪些是你不知道的----【探讨Java经典遍历问题和面试题】
递归算法还有哪些是你不知道的----【探讨Java经典遍历问题和面试题】
32 1
|
3月前
|
存储 缓存 算法
数据结构与算法面试题:实现一个 LRU 缓存,支持如下操作:获取值、更新值、删除键值对和插入键值对
数据结构与算法面试题:实现一个 LRU 缓存,支持如下操作:获取值、更新值、删除键值对和插入键值对
28 0
|
3月前
|
存储 算法 Java
数据结构和算法面试题:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
数据结构和算法面试题:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
41 0
|
3月前
|
算法 Java C++
数据结构与算法面试题:实现一个函数 fill(int[] a, int n, int v),使其将大小为 n 的数组 a 填满为 v。
数据结构与算法面试题:实现一个函数 fill(int[] a, int n, int v),使其将大小为 n 的数组 a 填满为 v。
16 0