首页 > 趋势科技C++面经
头像
zcyyy
编辑于 2022-10-01 14:16 安徽
+ 关注

趋势科技C++面经

一面65min,虽说除了项目里的错误处理,其他地方大多都答出来了,但总体感受就挺不爽的。

9.26:感谢信。评价:工资不高(22的总包),要求不低,态度不好  -> 避雷

1.release版本的程序崩了怎么调查

2.release版本和debug有什么不同,release优化了什么(举了个例子)

3.gdb用过吗,有哪些常用指令
C++发展到哪个版本了(20,加了协程)协程是什么(用户级轻量级线程)怎么实现的(没记,看过些没记住)

4.计算机网络相关,说一下键入url发生的事

5.说一下tcp头部有哪些,有实际检查过是这些东西吗,回:没检查过,项目用过tcpdump抓包,抓包看到的是什么

6.说一下http3-详解了quic

7.项目中LT和ET的区别,实现了哪种(都实现了)项目用的哪种,ET怎么实现(加while,errno判断有没有结束)挖了个坑,说webbench出错了测不出哪个更好,问我为什么出错,可能哪里有错(说了下webbench原理,甩锅给虚拟机

8.什么情况程序会崩(地址越界,栈溢出,起了野指针的例子 操作野指针都会崩吗:不是的,自己vscode试过不会,网上写算法题会,可能要看编译器)

9.如何调试(gdb

10.多进程和多线程的区别

11。进程间通信方式

12.线程同步和互斥(说了下同步的方式,互斥的理解是串行化,但同步也可能用到互斥锁之类,应该是差不多的

13.读写锁,读写读这样的顺序,最后是写还是读

14.项目里能用到读写锁吗(没必要)怎么替换?(互斥锁全部换成写锁

15.操作系统怎么选择线程(时间片)只靠时间片吗?(还要考虑优先级,应该是多级反馈队列,猜的

另一个面试官,很不耐烦的样子

1.质疑web服务器的框架慢,让我说下总体的流程

2.质疑我主线程处理IO和新的链接不能做到万级并发???问我哪些线程压力大?有没有测过

读入的数据放哪呢?我说包装http成一个类,提前创建一个对象数组,按照文件描述符来获取下标,初始化并存放链接信息,初始化会开辟缓冲区。后续又反复质疑,觉得这个报文解析组装花不了多久,我说还有mmap映射和账号密码的处理,面试官不以为然

3.请求报文都有哪些,头部里有哪些?漏了个HOST就问我HOST里面是什么(忘了),项目里HOST这个字段不存在怎么办(只通过strncmp提取host的值存着没用上,后来看了下项目确实是只保存了HOST的值,不存在就直接为空呗

怎么查看报文?(浏览器F12)还反复提了漏了HOST这个事,我说了好几个head漏记一个至于反复提吗,此时已经开始气了

4.每行结尾都是\r\n,那如果连续的两个\r\n,进程会怎么处理?(记得请求行后如果两个\r\n直接跳到request,面试官一直嬉皮笑脸质疑,整不自信了

5.conten-length为0怎么办(收不到账号密码—回头看项目,完全没考虑过这个情况,不知道会发生什么

此时已经气急败坏了

换回另一个面试官

1.项目中哪里体现了面向对象的思想

2.说到多态,问虚函数和纯虚函数的区别,为什么能实现多态,虚函数指针为什么在地址首位(???

3.数据库连接池的问题,如果连接数多怎么办?(让客户端自己创建连接,这一块搞错了,就8个数据池连接,说多了)
数据库怎么设计,数据库三大范式
用户名和密码怎么存储,这样有什么问题?(用户名和密码暴露了)怎么解决(md5)md5什么原理(不知道,应该是哈希)可逆吗(不可逆)知不知道md5破解(不知道

更多模拟面试

全部评论

(5) 回帖
加载中...
话题 回帖