Baidu cloud interview experience-百度云面经,2018-08-20

看了牛客那么面经,现在来反馈一波
一面
先问的数据结构(全是剑指Offer,所以好好刷题。。。)
(1)给你一个链表,带头节点的,然后给你一个要删除节点的指针,
要在O(1)时间内该节点,你如何做?
(2)如何层次打印二叉树?
常见问题:
(1)说一说从应用层到数据链路层有哪些协议?
(2)那么这些哪些是tcp,哪些用的是udp?tcp和udp的区别?
(3)tcp可靠传输有哪些机制来保证(应答确认,超时重传,滑动窗口
,网络拥塞处理过程全讲了)
(3)cookie了解过吗?讲一下
(4)三次握手,四次握手详细过程(状态,报文方面)
(5)select,poll,epoll它们的联系和区别?同步/异步IO模型有哪些?
(6)IPC有哪些?哪些操作数据有内核参与?
(7)C语言如何防止头文件重复?extern关键字的使用场景?
二面:1小时

c语言方面:
(1)现在写一个接口,传入的是一个字符串,如何对它进行安全防护?
(空指针,NULL,const),假如传入的是一个域名,如何判断它是一个合法域名?
(2)有一个int全局变量,现在有两个进程分别对它执行前置++,
最后的值可能有哪些?
(3)static变量定义之后有什么结果(作用域,初始值,所在段考虑)
(4)gdb现在第7层,如何查看第4层的局部变量的值?
(5)C++一个类先析构自己再析构成员还是反过来?
(6)C++11的move,以及右值引用相关
(6)智能指针是使用场景?
(7)工厂模式的有优点?
操作系统方面:
(8)如果一个进程CPU占用太大,如何定位和调试这个进程?
(9)如果一个需要一个进程对外提供尽可能多的服务,但是它的cpu
上不去,有什么办法定位到这个进程,并解决这个问题让它的
cup占用上去?
(10)malloc(1G)时,分配了多少物理内存?分配的虚拟内存的大小对
应到物理内存上,如果对它进行写操作?那么要分配的物理内存大小是如何确定的?
(11)cpu上指令的地址是什么地址?逻辑的还是物理的?那它怎么映射
到物理内存的(地址映射过程)
(12)如何查看一个进程多少个线程?现在调试如果要转到某个线程
上去,如何查看线程信息,转到某一个线程上,查看它的堆栈?

网络:
(11)收到IP数据报之后,它如何确定给TCP还是UDP,TCP再往上给应用层
(12)如何知道它对应的是那种服务,http,dns?那现在在nginx(反向代理使)
如何确定给内网的哪一个主机发送?
(13)https和tls机制,非对称加密,为什么tls要使用非对称加密?
这里面有对称加密吗?
(14)说一下epoll过程?

算法题:求一个字符串的兄弟串?可以使用一定的空间,如果是
海量呢?

面试总结:百度云面的都很贴近实际应用,因此平时在遇到一些很常见
问题时要注意完进程或者线程运行上的特性来分析,算法题打的不好
思维没进去,但是也给了基本解法,哎,希望大家能在面经里查缺补漏
提升自己

额,三面随缘

有问题讨论起

From:Nowcoder