梦中情厂--百度提前批一面二面、正式批一面二面三面、凉经
作为一个非科班的小菜鸡,确实是自己学艺不精,数据库因为一直没有其他公司问,也就没怎么回顾,很多知识点都不记得了。
今年秋招大厂无缘了,希望自己能保持初心,进入一些中小公司后也能保持学习,待技术熟练后,再重新来圆梦大厂!
提前批二面是因为手撕没写出来。
正式批面之前,疯狂刷题,正式批三面的所有题都a了,但是一些数据库的八股不记得了,三面完就共享了。。。
------------------------------------------------------------------------------
提前批两面
------------------------------------------------------------------------------
2022-08-29 百度提前批一面
1、自我介绍
2、你的专业是人工智能,你应聘的是工程的岗位,对工程的看法?
3、json这个项目你大概实现了什么功能,用了什么方案去做的,这里面有亮点的技术是哪一部分?
4、这里面你提到了堆栈优化,你能具体讲一下吧?为什么没有选择标准库或操作系统提供的,为啥自己实现呢?
5、一段递归的代码,在操作系统层面是怎么样的一个过程,详细讲一下?比如函数调用时候,是怎么帮你实现的
6、分享一下你对非阻塞、阻塞、同步、异步这几个IO概念的理解?非阻塞同步IO和非阻塞异步IO模型的区别在于什么?
7、讲一下你知道的事件处理模式,以及他们的区别吗?你知道在大型的开源产品是他们是怎么选择这些处理模式的吗,比如nginx、apache等,他们为什么选这个不选那个? (还有个netty、redis的事件处理模式)
8、项目中你提到了主从状态机解析http请求报文,能展开讲一下吗?
9、RAII机制,数据库连接池?你是怎么实现的,用了哪些策略或者哪些方法?(这里的池就是简单的实现,然后列举了一下实际应用中的数据库连接池可能会怎有哪些策略)
10、你用的是C++吗,现在来写个代码吗,反转二叉树?用了递归写,让再写迭代法,写了迭代的层序遍历法,让再写一下深度优先遍历的迭代法。(代码A了)
反问:
2022-08-31 百度提前批二面
1、自我介绍
2、C++里面的关键字印象深的有哪些?static说一下?
3、智能指针用的多吗?unique_ptr share_ptr weak_ptr。 auto_ptr呢?
4、c++模板容器都有哪些? 简单挑一个list和vector
5、野指针怎么产生、怎么避免?
6、成员函数重载、重写、隐藏,怎么理解这三个的区别和联系
7、进程和线程的区别?上下文切换切换的是什么?线程之间上下文切换比较快是吧?进程之间怎么通信呢?
8、进程间通信时候使用共享内存会有需要注意的地方或者坑?
9、逻辑地址、线性地址、物理地址、虚拟地址定义?
10、浏览器输入一个url,回车后到渲染出现内容,这期间计算机都发生过哪些操作吗? IP地址一般去哪里拿?DNS需要交互几次
11、http请求过程需要建立TCP链接吗?返回请求后这个TCP链接会关闭吗?
12、这个只能服务端控制断开吗?客户端能主动断开吗? 如果保持一段时间关闭,这个时间谁来定?TCP四次挥手后,为什么等待一段时间才会真的断开?
13、TCP报文有几个ack,大写小写?序列号的作用是什么?
思维题:赛马
算法题:剑指 Offer 45. 把数组排成最小的数 (代码没a)
------------------------------------------------------------------------------
正式批三面
------------------------------------------------------------------------------
2022-09-24 百度正式批 一面
1、自我介绍
2、你之前提前批什么时候面试的百度啊?现在是研三吗?这个阶段能实习吗?大概几月可以到?
3、阻塞模型和非阻塞模型?
4、epoll的底层?
5、web项目的主从状态机介绍一下?
6、压力测试工具用的什么?测试过程遇到了什么问题?
7、写代码,
第一题 括号匹配 。 (代码A了)
第二题 站在二叉树右侧看到的节点。 (代码A了)
第三题 一个日志记录,找到里面ip出现次数最多的三个ip,说了awk但是具体指令不太记得了
8、tcp滑动窗口,具体细节?
反问:
2022-09-24 百度正式批 二面
1、自我介绍
2、详细介绍一下你这个web服务器?
3、长链接短链接的区别?长链接使用的场景
4、你这个是单机的还是多机的?
5、服务器的内部处理逻辑?怎么区别登录和注册事件?怎么实现用户名和密码关联?用的map,考虑过其他结构吗? unordered_map?两者的区别?是否线程安全?
6、加什么锁?有考虑过其他锁吗?读写锁了解吗?自旋锁?
7、看一段程序,vector遍历打印输出,会有什么问题 用的size_t类型的,无符号 ,--的话到0时候--会变成最大值,直接越界
8、++i 和 i ++ 区别? vector初始化的容量大小是多少?扩容机制?
9、手写strcpy? (重叠时候可以考虑从后往前复制)
10、手写一个LRU
反问:
2022-09-24 百度正式批 三面
1、自我介绍()
2、项目的大概流程?用什么存储,mysql吗?
3、顺便问一下mysql这些你了解吗?还是说都是sqlite这些?
(mysql语法语句不太记得,但是理论概念,索引、回滚日志等理论概念还都知道) (面试官:好的,我待会去问一下这一块)
4、你之前任职的那个协会部长主要负责做什么工作?
5、STL了解吗? map、set、unordered_set、unordered_map的区别?
6、简单问一下mysql的问题 (从这里开始gg)
7、读已提交和可重复读区别,底层如何实现?
8、索引的类型?聚集索引底层怎么实现的? 换句话说索引的数据结构是什么 B+ tree? 所有都是b+tree吗? (把哈希表忘记了)
9、mysql的一些锁,行锁、表锁、间隙锁,判断一条sql语句加了哪些锁?
10、详细描述一下操作系统底层怎么实现epoll的吗? poll 、select中他们的区别?
11、ET和LT的使用场景?
12、因为咱们是面试啊,我还是得给你出一下这个代码的题,咱们稍微做一下? (感觉凉凉了,但是该走的流程还要走完)
13、做题:给你一些日程安排[start, end),请你在日程安排添加后,返回一个整数k,表示所有日程安排会产生的最大k次预订。(当k个日程安排有一些时间上的交叉时(例如k个日程安排都在同一时间内),就会产生k次预订。)
几乎类似于 力扣732。 (代码A了)
14、自己的优点缺点?这么多年过程中,最有挑战的事情是什么?
反问:
(发发面经,攒攒人品)