浙江大华 嵌入式c面经新鲜出炉
问题:
服务器框架;
线程池;
定时器:时间轮(同类解决方案还有时间堆)
Tcp/ip具体包含什么;需要具体到源端口号,目标端口号,序号,urg、ack、psh、rst、syn、fin标志位,校验和,数据等
有没有看过tcp协议的具体样子;tcpdump抓到的那种
Tcp三次握手发生了什么;服务器和客户端你侬我侬
Tcp连接时socket的参数是怎样的;和udp对比区别在于第二个参数,tcp第二个参数是sock_stream,udp第二个参数是sock_dgram
日志怎么实现的;我回答时提到了设计模式,就连带问了我用的什么设计模式,日志是单例模式-懒汉式(用到再初始化,还有一个饿汉式函数启动时就初始化),日志需要注意信息是分等级的,debug、info、error之类
信号;实现时需要统一事件源setsockopt函数
语言
c++虚函数表里具体有什么,具体到结构
模板;我不会
迭代器有用吗;有;哪些;vector,stack,unordered_map(我是当成哈希表用的);有了解过容器底层吗;map或者set的底层是红黑树,unordered_map和unordered_set底层是hashtable,增改的复杂度;
操作系统原理
函数回调是如何实现的(可以翻译为栈帧的工作原理或者调用函数时栈帧是如何变化的)?
我是以x86架构回答的设计rbp和rax寄存器,arm架构操作的寄存器有所区别
项目会因人而异,我面的这个部门,我反问时那个领导时透露技术栈是c/c++,unix编程,tcp/ip网络,如果你的项目与这些技术都无关,那他就可能想到哪问道哪
他的面试是所有面试接在一起的,就是一面之后很快二面,但是我的一面很晚所以二面可能等到明天
#C/C++##嵌入式##大华提前批##Linux#