24提前批-百度-offer评估中
时间线
https://www.nowcoder.com/feed/main/detail/d53b0aaf295f4c489e78d965e4ce2e62?sourceSSR=users
一、一面(50min)
1. 自我介绍
2. 手撕:合并两个升序链表
3. 手撕:使用二分查找的插入排序
4. 常用的 Linux 命令,如何根据占用端口找到对应的进程 ID
5. awk 命令
6. 有一个日志文件,一行是一条访问记录,格式为[IPv4地址_],_表示空格。如果某个时间段有个爬虫脚本在攻击我们的服务器,能通过什么命令将这个 IP 找出来
7. 在这个日志文件中,每一行日志都有一个日志id,知道一个 log id,用什么命令可以将这条日志找出来
8. 内存的栈空间和堆空间
9. 栈空间溢出是什么
10. 进程和线程的区别
11. 死锁
12. 浏览器从输入网址到显示网页经历了哪些过程
13. TCP 三次握手
14. HTTP 协议的一次请求内容有哪些
15. 常见的请求体有哪些格式
16. 常见的设计模式
17. 实现一个观察者模式
18. 数据库事务的特性
19. 数据库索引的类型
20. 联合索引的最左匹配
21. 唯一索引设计一个有则更新无则插入功能
22. mysql 的 replace into、on duplicate key
23. redis 发布-订阅模式
二、二面(1h20min)
1. 自我介绍
2. 看了我的 github 主页、个人博客、知乎、部署好的聊天室发了个消息
3. 介绍一下第一个项目
4. 日志模块、定时器模块、锁模块介绍一下
5. 日志缓冲区
6. 日志分级、日志自定义格式
7. epoll 读到一半又有新的事件到来怎么办
8. cache 和 buffer 的区别
9. 集群聊天服务器的发布订阅部分
10. redis 的发布订阅模式使用了哪种数据结构
11. 负载均衡有哪些策略
12. 实验室项目基本情况介绍
13. class 和 struct 区别(引用类型、值类型)
14. class 和 struct 定义在堆上还是栈上
15. 指针和引用的区别
16. 如何计算对象的内存大小
17. 了解的设计模式,选择其中两个实现
18. 单例、工厂、观察者的实际应用场景
19. 手撕:LC 516 最长回文子序列(边界问题判断)
20. 1000 瓶药水
21. 手撕:LC 107 二叉树的层序遍历2
22. 学习新技术的思路、方法论
三、三面(1h)
1. 自我介绍
2. 详细介绍一下第一个项目
3. 做项目的过程中出现最难的问题,如何解决的
4. 框架的设计方案是如何得出的
5. 如何评价框架的完成度
6. 毕设(背景、方案、进度、创新点)
7. 实验室横向项目(沟通、进度管理、新技术学习方法)
8. 分享一个自己通过不断调整进步最终实现目标的经历
四、四面(30min)
1. 校园经历的收获
2. 项目的设计与实现的思路
3. 本部门的产品的使用感受与建议
#百度#