日常实习面经

日常实习面经

深信服

岗位:C/C++软件开发

一面(65分钟)

  • Linux进程调度算法主要有哪些?(FIFO、RR、CFS)

  • 大多数进程采用哪种调度方式?CFS高优先级进程可以被抢占吗?

  • 进程与线程区别?内核对它们有区分吗?如何实现?

  • 内核线程了解吗,它和用户线程什么区别?它的页表?

  • 内核管理的内容,伙伴系统、slab

  • slab从伙伴系统分配的物理页什么时候发生页表映射的?

  • vfs、read一个文件的过程

  • struct file中的file_opration结构体是什么时候确定的?

  • TCP与UDP的区别?

  • TCP如何维护可靠传输?

  • TCP超时重传是如何实现的?网络包丢失和接受方主动丢弃一样吗?

  • TCP服务器和TCP客户端编程过程

  • accept返回的套接字和服务端是同一个吗?

  • 单链表删除指定节点

  • 单链表逆序

  • 使用栈来排序

  • 二叉树非递归前序遍历、中序遍历

  • 图了解吗?最短路径?

二面(25分钟)

  • TCP服务端和客户端编程流程
  • TCP的TIME_WAIT的作用
  • listen的参数表示什么?(内核中两个队列,未完成队列的大小)
  • select的底层实现
  • epoll的触发方式,有什么区别?
  • 水平触发和边缘触发的应用场景
  • 阻塞和非阻塞的区别
  • 同步和异步IO的区别
  • 进程用户地址空间,堆和栈的区别?
  • 用过哪些进程间通讯?
  • 哪种进程间通讯最快?共享内存有什么缺点?
  • CPU总线编址方式?
  • 大小端的区别?为什么有大小端
  • 中断底半步,tasklet、工作队列
  • 简单介绍下项目,项目中的内存管理如何实现?项目中使用UDP和TCP有什么区别?
  • 应用层如何实现UDP可靠?和TCP比有什么区别?

HR面(25分钟)

  • 专业有C++的课吗?
  • 做过的项目,在项目中有遇到难题吗?举个例子,怎么解决?
  • 觉得自己技术水平怎么样?怎么证明?
  • 说一下你的三个缺点,有什么例子吗?
  • 说一下大学的时间安排
  • 了解深信服吗?
  • 现在投了哪些公司?如果给你offer,你会拒吗?

腾讯(PCG)

岗位:后台软件开发

一面(25分钟)

  • 你是计算机本科吗?不是为什么要做软件开发?
  • 介绍一下你的项目,项目的内存管理如何实现的?
  • 项目中的日志系统怎么实现?
  • select、poll、epoll的实现和应用
  • 你说epoll用到红黑树,那你讲一下红黑树
  • C++虚函数是如何实现的?
  • Linux内存管理(伙伴系统、slab)
  • TCP的三次握手和四次挥手?
  • 为什么需要四次挥手?三次挥手可以吗?
  • TCP如何实现拥塞控制?
  • 说20个Linux命令,查看某个端口、查看CPU和内存的资源、抓包
  • C++如何实现单例模式?
  • 讲一个你熟悉的排序(快排),快排时间复杂度,什么时候最坏?
  • 说一下你对动态规划的理解
  • 你有什么问题?

二面(30分钟)

  • Linux线程相关的API
  • 你平常是怎么使用多线程的?
  • 线程池如何实现?
  • 为什么线程池使用条件变量被唤醒是个while而不是if
  • Linux线程间通讯
  • Linux进程间通讯
  • 为什么关闭一个套接字后,马上打开会报错?如何解决?(套接字复用)
  • TCP为什么是三次握手,为什么不是两次,为什么不是四次?
  • TCP三次握手的目的?
  • 知道TCP的序列号的作用吗?
  • 生产者和消费者模式如何实现?为什么循环队列直接暴力地使用互斥锁?
  • 生产者和消费者中的循环队列还可以怎么实现?(阻塞队列)
  • 常见的二叉搜索树有什么?
  • 讲一下快排,快排用了什么思想?
  • 你对python和go的意向?
  • 你有什么问题?
  • 等别的面试官联系你(然后我被鸽了)

字节跳动(头条直播)

岗位:后端开发

一面(62分钟)

  • 自我介绍
  • 你是自动化专业,专业课上什么内容?
  • 为什么做这个项目
  • RSTP和RTP是看RFC文档还是?
  • 项目中使用TCP和UDP的区别?UDP丢帧会发生什么?
  • 有没有对UDP丢帧做处理?
  • 讲一下reactor模式
  • 线程池线程数怎么设置?
  • 项目的日志系统
  • 线程怎么睡眠?
  • TCP三次握手过程
  • 客户端发送SYN的时候调用的是什么函数?
  • connect函数在什么时候返回
  • 内核调度算法
  • 实时操作系统和非实时操作系统的区别
  • Linux的进程如何抢占?
  • 内核内存管理
  • 内核的kmalloc和kmem_cache
  • 进程和线程最主要的区别
  • 线程什么是私有的?
  • fork之后信号量会共享吗?
  • 进程访问没有权限访问的地址会怎么样?
  • 了解信号吗?杀死一个进程使用什么信号?进程可以捕捉KILL信号吗?
  • C++如何禁止一个对象被拷贝?
  • STL哪些常用?
  • vector和list的区别?
  • queue的内部如何实现?
  • map的内部如何实现?
  • 手写过红黑树吗?红黑树最主要的一个性质是什么?目的是为了什么?
  • C++11
  • nginx了解吗?
  • http协议了解吗?GET和POST有什么区别?
  • 编程题:一个数组,求两个值为K的组合
  • 编程题:一个数组,合最大的子数组
  • 你有什么问题吗?

二面(90分钟)

  • 现在课多吗?可以实习的时间
  • 考研吗?为什么不考研?
  • 为什么做这个项目?
  • RTSP协议的交互流程
  • sdp文件的信息
  • H.264的NALU是怎么存储的?
  • 如何编码H.264和AAC的?
  • 项目中使用TCP和UDP的效果
  • 丢帧会怎么样?
  • 有做过压测吗?
  • 说出你知道的关于流媒体的协议
  • TCP如何维持可靠?
  • 让你设计,如何实现TCP的功能
  • UDP的包大小如何确定?
  • TCP如何确定包大小
  • TCP乱序收到包之后,接收窗口还有多大?
  • 编程题:使用C++实现拷贝构造函数和拷贝赋值函数(深拷贝)
  • 编程题:非递归中序遍历二叉树
  • 概率题:一根绳子,剪成3段,求能组成三角形的概率

三面(20分钟)

  • 讲一下reactor模式

  • select、poll、epoll的使用区别和实现

  • 项目的日志系统

  • 编程题:写一个纯虚函数调用出错的例子,要求编译通过,运行出问题

  • 你有什么问题?

HR面(20分钟)

  • 为什么做这个项目?
  • 除了看源码之外,如何去学习知识?
  • 有想转正吗?
  • 接受的工作时间
  • 你的专业排名
  • 考研吗?
  • 平时有什么爱好吗?
  • 更喜欢一个人还是和大家在一起
  • 你有什么问题?
#深信服##腾讯##字节跳动##实习##C++工程师##面经#
全部评论
这也太难了
2 回复 分享
发布于 2019-12-13 22:33
有字节深圳的实习生群吗,求拉
1 回复 分享
发布于 2019-12-13 16:10
太强了。不过为啥问考不考研啊。。。
点赞 回复 分享
发布于 2020-02-26 09:25
看不懂,太难了
点赞 回复 分享
发布于 2020-02-25 14:10
日常面试这么难的吗?怕了😅
点赞 回复 分享
发布于 2019-12-17 09:51
马了
点赞 回复 分享
发布于 2019-12-14 19:27
tql  ——by被字节挂了两次的我
点赞 回复 分享
发布于 2019-12-13 22:40
🐮
点赞 回复 分享
发布于 2019-12-13 18:36
点赞 回复 分享
发布于 2019-12-13 16:49

相关推荐

04-01 16:13
已编辑
华中科技大学 golang
#后端开发#  #暑期实习#  #后端开发#  #美团# 【听说三天没消息自动回人才库,其实已经绝望了,感恩团爹高抬贵手,不面了,当团孝子了】早知道, 还是java(bg双九无实习玩具项目  golang)一面1. 浏览器输入网址到呈现页面过程?  1. Dhcp dns http tcp ip arp 浏览器渲染【经典起手式】2. 你提到tcp协议,讲讲连接过程,具体讲讲序列号确认号关系?  1. 三次握手  2. 确认号 = 收到的对方序列号 + 1【感觉当时没讲清楚他又追问了一下】3. tcp报文结构,具体讲讲包含哪些字段及作用?  1. 说了源端口、目的端口、序列号、确认号、窗口大小、状态位、首部大小、紧急指针、选项,漏了校验和【还好面试前刚整理过】4. 你提到报文长度,这个有上限吗?  1. 有的兄弟,有的。mtu mss,具体大小忘了。【我真不记得数啊 1500好像】5. 传输层除了tcp还有别的吗?  1. UDP 然后说了说区别:数据包、无连接、不可靠,以及适用场景6. 操作系统学过吧,讲讲死锁是什么?如何避免?  1. 说了说什么循环等待不可剥夺,记不太清楚具体词了,干脆举了个例子说明了一下;  2. 破坏三个条件【汗流浃背 忘了这块了】7. 银行家算法有了解过么?具体说下思想?  1. 了解过,避免死锁的,具体忘了【两年前我肯定记得】8. 没关系,那说下cpu中断执行过程?  1. 硬中断保存上下文,然后软中断;  2. 软中断去中断向量表查处理程序入口,执行完恢复现场返回;9. 刚才提到用户态、内核态,解释一下?  1. 权限控制机制,用户空间,内核空间讲了讲【这也没背 全靠老本 感恩攻防实践TnT 】10. 看你项目用到了数据库,mysql、Redis和mongoDB?  1. 前两者用的多【mongoDB语法是真难写,千万别问我】11. 讲讲mysql和redis区别?  1. 原理上关系/非关系,结构固定/灵活;  2. mysql在磁盘中负责持久化;redis在内存中负责缓存,更快;12. 如何定义关系型/非关系型?  1. 关系型行和列,非关系型更灵活,不固定,如redis是Kv对;【浅薄认知 自信说出】13. 关系型数据库的相关规范?  1. 1nf,2nf,3nf,bcnf...【罗列了一下】14. redis为什么快?  1. 内存中;  2. 单线程多路复用;  3. 数据结构优秀,举了sds和跳表例子;15. 跳表上层下层节点数1/2的关系是固定的吗?  1. 不是,添加操作是概率性的,而且这个概率也可以调;16. 讲讲查询过程?  1. 小就向右大就向下17. 跳表节点存的是值还是范围?  1. 值18. redis持久化存储?  1. Aof rdb aof+rdb【背诵小林ing】19. aof缺点?  1. 写入恢复都慢、占内存大20. mongodb是关系型还是?为啥用?  1. 非关系;  2. 用mysql存大文档不理想,并且以后想在文章中扩展更多的内容,了解到mongodb比较合适;21. 能扩展什么类型?  1. 啥都可以,流媒体、评论嵌套都支持;22. 数据库文章会更新吗?不一致性怎么处理?  1. 延迟双删23. 能彻底避免吗?  1. 不能吧,可以考虑优化成分布式锁24. 延迟双删,第二次删除失败了,怎么处理?  1. 项目里这个是异步的,因为感觉影响不大所以没考虑处理错误;  2. 如果要考虑的话,可以引入一个补偿机制,异步删除失败的话可以发一条消息到消息队列,我们收到后去回滚一下msql【即兴发挥 知识盲区了感觉】25. 你这个回滚是mysql原生支持的,他怎么实现的,自己实现怎么办?  1. mvcc,我们也可以仿照mvcc加入版本号字段进行管理;26. kafka使用场景?  1. 异步 削峰 解藕 日志聚合 通信  2. 项目里主要是用于异步点赞数的更新,避免阻塞正常的阅读过程27. 了解kafka之外的消息队列吗?  1. 不太了解【流汗了】28. 为什么选择kafka?  1. 看博客说适合处理数据量大29. 多大?  1. 百万级【流的汗更多了】30. 从底层实现上说说不同消息队列的差异?  1. 有差异但我不清楚,讲了讲kafka的底层【我真不认识别的 呜呜】31. 重复消费问题怎么解决?  1. 幂等生产者,前端限制,加入业务相关的唯一id,加入请求id【想到啥说啥】32. 有实习过吗?  1. 没有,做过一点点开源33. 日常学习途径?  1. 博客、ai、书、前辈【去年双十二的书终于派上用场了,一本本展示】34. 用ai干啥?  1. 科研 学习 写前端35. 写题leetcode143. 重排链表36. 反问业务:交易结算方面37. 反问java怎么学【go选手落泪】---二面1. 自我介绍2. 意向城市3. 转语言吗?  1. 转,早知道还是java4. 实习过吗?  1. 没有【哭了,每次最痛的问题】5. 老师放实习吗?  1. 放的兄弟,放的6. 聊项目7. 是合作的吗?小组分工?8. 技术选型分歧怎么解决?9. 在团队中扮演什么角色?10. 讲讲项目难点,怎么解决的?11. 长短token讲讲,为啥更安全?12. 如何说服合作者重构代码?13. 项目里涉及跨库事务一致性如何处理?14. 项目里redis适用场景,和mysql一致性怎么保证?15. 项目里写了ddd,讲讲  1. 忘记删了,硬着头皮讲,最后免责声明这东西千人千面,也见不得好16. ddd不足?17. 反思你项目架构,哪些可以优化?18. 负载均衡用了啥?不同方法的优缺点?19. 怎么量化你项目的性能提升?20. 你项目的可用性如何进一步提升?21. 如何用ai改造你的项目?22. Mysql update执行过程?23. mvcc设计思路有什么好处?24. java了解吗?  1. 我说只知道语法->讲讲jvm【我直接汗流浃背了】25. 写代码去制造堆的耗尽和溢出  1. 不断Malloc小空间  2. malloc然后越界访问26. url跳转27. 一个页面跳转慢,交给你去处理,你会怎么处理这个问题?  1. 排查确认环节,然后每个环节给出解决措施28. 写题【leetcode129 求根节点到叶节点数字之和】
nihao111:忍耐王
点赞 评论 收藏
分享
评论
16
201
分享

创作者周榜

更多
牛客网
牛客企业服务