面试系列(十一):百度运维部 核心网络研发工程师

一面

1.自我介绍

2.问了一些研究生专业、考研、提前实习的问题。
 
3.数据结构:手撕代码
  • 二叉树的中序遍历(迭代),时间复杂度是多少?
  • 求搜索二叉树中两个节点P1和P2的最近公共祖先?
4.C/C++中存储区分为几个区?
 
5.计算机网络:
  • OSI 7层参考模型?
  • TCP和UDP的区别?
  • TCP最大的优点是?
  • TCP如何保证可靠性传输?
  • DNS解析IP地址的过程?
  • TCP粘包问题,你的认识以及怎么解决的?
  • 网络抓包了解过吗?常用的抓包工具?抓包是用来干什么的?
6.Linux中都用过哪些命令?sort,awk,这些排序命令用过吗?在一个包含很多文件的目录下,你使用什么命令查找?
 
7.多路I/O复用模型?为什么会这么设计,相比于多进程和多线程并发模型,它的优点在于?是否自己应用过?
 
8.socket网络编程,写一下服务端和客户端的伪代码?
 
如果服务器使用多线程的话,从哪里开始放在线程中?
 
socket中除了read和write这种文件描述符通用的系统调用,其他的了解哪些?read和recvfrom有什么区别?
 
9.大端序和小端序
 
10.聊项目
 
11.你大学或者研究生阶段中最难忘的一段经历?
 
12.聊人生
 
13.你有什么要问的?
 

二面

1.自我介绍
 
2.介绍部门情况
 
3.看一面写的代码
 
4.为什么投递核心网络工程师这个岗位?对网络很感兴趣吗?
 
5.问了一些本科和研究生的问题。
 
6.在浏览器输入框中输入关键字,搜索相关资源到呈现在页面上,这个过程中的业务逻辑和涉及到的协议?
 
7.DNS域名解析的过程
 
8.分布式集群了解吗?
 
现在服务器模型最通用的是?
 
Nginx,了解吗?
 
9.聊项目。
 
10.你阅读***源码的感受?
 
你觉得它有什么优点和缺点?有没有自己实测过?
 
11.手写代码:有一个10G的日志文件11.log,里面的行格式是:time,IP地址,******,******,以逗号分割,请写一个程序把日志文件中所有的IP地址提取出来并且去掉重复的,放在22.log里面。
 
12.你有什么要问的吗?

你可能感兴趣的:(面经)