CVTE C++ 一面
聊项目 + 拷打基础,涉及C++、操作系统、计网,总的来说不是纯八股,带了点场景询问,以下是零星回忆:
1.项目中用到了UDP,为什么?(简单、传输快)
2.如果要在你的项目中使用UDP,但是要可靠传输,该怎么办?(参考TCP,重传机制和按序接收)
3.提到了TCP,黏包怎么解决?(固定包头接收,指定内存长度)
4.查看网络状况(以为是netstate,其实是ping、traceroute,紧张忘记说了)
5.抓包工具?(wireshark,紧张又给忘了靠)
6.TCP 2MSL说一下,为什么
7.输入 ping 某个ip,发生了什么(答到数据链路层就行)
8.ping属于什么协议,在哪一层?(ICMP,IP层)
9.建立连接后,客户端拔掉网线后会怎么样?(保活机制,balabala)
10.接上问,检测的这个时间有点长,有什么办法优化吗(应用层心跳包机制)
11.C++空类包含哪些函数(big five)
12.虚函数可以私有化吗(没答上来,觉得不行,下去查了发现是可以的,私有化就是父类指针无法在类外调用虚函数实现多态了)
13.说说静态成员函数?
14.静态成员函数可以是const类型吗?(我觉得不可以,因为const限制访问的是成员变量,但是静态函数本来就不可以访问普通成员变量,因此没必要)
15.怎么代码实现一个死锁?(一开始没懂,后面发现其实就是两个Mutex,两个线程先持有其中一个,然后需要另一个)
16.三个线程A,B,C,顺序打印(就是同步,我一开始说互斥量初始化为0,面试官说你说的是条件变量吧,我答是,尴尬...)
17.线程、进程聊聊?
18.shared_ptr实现?
19.接上问,那它是线程安全的吗
20.类模板、函数模板有什么不同?
21.模板范化、模板特化区别?
大概只想起这么多了,项目那好像也聊了会儿,就是实现什么的,JSON那些,一般会根据上一个问题引申下一个,到现在算是第一个比较上强度的,想反问一下的,可惜面的太久时间不够了。
1.项目中用到了UDP,为什么?(简单、传输快)
2.如果要在你的项目中使用UDP,但是要可靠传输,该怎么办?(参考TCP,重传机制和按序接收)
3.提到了TCP,黏包怎么解决?(固定包头接收,指定内存长度)
4.查看网络状况(以为是netstate,其实是ping、traceroute,紧张忘记说了)
5.抓包工具?(wireshark,紧张又给忘了靠)
6.TCP 2MSL说一下,为什么
7.输入 ping 某个ip,发生了什么(答到数据链路层就行)
8.ping属于什么协议,在哪一层?(ICMP,IP层)
9.建立连接后,客户端拔掉网线后会怎么样?(保活机制,balabala)
10.接上问,检测的这个时间有点长,有什么办法优化吗(应用层心跳包机制)
11.C++空类包含哪些函数(big five)
12.虚函数可以私有化吗(没答上来,觉得不行,下去查了发现是可以的,私有化就是父类指针无法在类外调用虚函数实现多态了)
13.说说静态成员函数?
14.静态成员函数可以是const类型吗?(我觉得不可以,因为const限制访问的是成员变量,但是静态函数本来就不可以访问普通成员变量,因此没必要)
15.怎么代码实现一个死锁?(一开始没懂,后面发现其实就是两个Mutex,两个线程先持有其中一个,然后需要另一个)
16.三个线程A,B,C,顺序打印(就是同步,我一开始说互斥量初始化为0,面试官说你说的是条件变量吧,我答是,尴尬...)
17.线程、进程聊聊?
18.shared_ptr实现?
19.接上问,那它是线程安全的吗
20.类模板、函数模板有什么不同?
21.模板范化、模板特化区别?
大概只想起这么多了,项目那好像也聊了会儿,就是实现什么的,JSON那些,一般会根据上一个问题引申下一个,到现在算是第一个比较上强度的,想反问一下的,可惜面的太久时间不够了。
全部评论
我刚刚做完笔试,寄
sharedptr线程安全得从两个方面说吧,引用计数用的是atomic是线程安全的,指向的对象不是线程安全的需要加锁
xd,感觉问的不简单啊,是92吗
建立连接后,客户端拔掉网线后会怎么样?
我昨天以为不能考试 想着点进去看看 结果可以考 但是要开组会 交白卷了
好兄弟,你是不是面的c++后端开发呀
请问是电话面试吗还是?,是有提前收到面试通知吗
shared_ptr多个线程同时修改引用计数我记得是线程安全的啊
阿里lazada招暑假实习,androidios客户端(广深),前端(广深),算法(广深),java(广深),产品(北京),数据(北京),测试(广深),c++(北京),要求毕业时间23年10月到24年九月,要求过6级。简历 带岗位名 到邮箱xjx284606@alibaba-inc.com可以给服务端面经!实习工资400一天
今天刚学了分包粘包,解决方法:客户端重新封装包,服务器重新解析包,包的格式采用FBEB(4个字节)+数据长度的长度(4个字节)+字符长度进行封装
相关推荐
10-21 18:18
中南大学 机械设计/制造 点赞 评论 收藏
分享