百度 网络研发工程师 面经
写面经攒人品了~~~
自我介绍
八股文拷打
1、数据库:mysql联合查询了解吗(内联)
2、数据库:数据库中事务了解吗?银行取钱要执行三步,如果钱取了在最后一步扣余额的时候网络故障怎么办?(事务执行的原子性,会回滚)
3、cpp:指针和引用区别,指针可以指向一个空值吗?引用对象可以为空吗?引用的对象可以改变吗?
4、cpp:智能指针了解吗?说两个重要的;当三个share_ptr指向同一块区域,什么时候这块区域的内存会被销毁?(老师提到了引用计数,产生一个share_ptr就++,销毁一个就--,为0该内存销毁)
5、计网:TCP三次握手四次挥手;TCP可靠在哪儿(ACK,重传机制,完整性检查,三次握手四次挥手);TCP三次握手的第三次如果断开连接了会怎么样;四次挥手后为什么要等2MSL?
6、计网:I/O多路复用了解吗?select和epoll有什么区别(select是一直轮询,epoll是有epoll_wait)
7、计网:MTU的概念(这块我有点忘了);通过wireshark怎么判断一个数据包分不分片?一台新电脑接入路由器,会有哪些包,使用到哪些协议(DHCP、ARP);这台电脑访问baidu.com过程;
8、计网:网络字节序了解吗?大端小端机是什么意思?
9、计网:NetFilte了解吗?数据包经过是怎么处理的(hook)
10、Linux:怎么看内存?怎么看进程?抓包的指令(tcpdump这个我真还没关注过)怎么看IO?僵尸进程怎么杀?怎么改文件权限?
(应该还有几个的,实在记不起来了)
手撕:
写socket通信(服务端)的过程:
几个数据结构
几个函数:socket() bind() listen() accept() close()
问面试官说其实更看重基础,所以计网,操作系统要学好了
#面经##百度提前批#