日常实习面经

日常实习面经

深信服

岗位: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
滴滴
校招火热招聘中
官网直投
点赞
送花
回复
分享
发布于 2019-12-13 16:49
🐮
点赞
送花
回复
分享
发布于 2019-12-13 18:36
tql  ——by被字节挂了两次的我
点赞
送花
回复
分享
发布于 2019-12-13 22:40
马了
点赞
送花
回复
分享
发布于 2019-12-14 19:27
日常面试这么难的吗?怕了😅
点赞
送花
回复
分享
发布于 2019-12-17 09:51
看不懂,太难了
点赞
送花
回复
分享
发布于 2020-02-25 14:10
太强了。不过为啥问考不考研啊。。。
点赞
送花
回复
分享
发布于 2020-02-26 09:25

相关推荐

🕒岗位/面试时间前端开发工程师/4.10面试时长:1h10min书接上回 又是熟悉的隔天挂并捞 周一面 周二挂捞 约周三面👥面试流程聊天:1、我看你之前面试过是吧 面试过几轮 面试流程感觉怎么样 之前没有回答上来的题有回去看一下吗2、这次打算实习多久 大四课程安排js基础题/看程序写输出/算法:(直接发了一个在线文档的链接 直接在文档里作答 限时45分钟 十道题 写完每道题讲解思路)3、==隐式类型转换4、异步操作输出顺序5、var变量提升6、闭包7、for循环定时输出1238、字符串正则匹配9、手写bind10、手写节流11、根据对象数组具体信息排序12、二分查找八股:13、http2和http3对http1.1做了什么优化?14、为什么http3性能更好 解决了什么问题?(没答好 http3不熟)15、跨域问题有遇到过吗?16、jsonp原理是什么(不是太了解)17、http缓存了解吗?18、一般怎么控制资源使用强缓存还是协商缓存19、有什么控制协商缓存的字段20、有接触过前端相关的安全问题吗?21、cookie的原理了解吗?22、同个二级域名下的三级域名可以共享cookie吗?(不太确定)23、了解csrf的原理和防范吗?反问:24、您怎么知道我之前已经面过很多次了呢?腾讯不是没有面评吗?(没有面评但是可以看到面试记录 每个部门的要求不一样 每个面试官也比较主观 看到我简历项目经验比较丰富 所以还是想捞一下)25、最近面试经常被问到有没有读过react源码之类的问题 您觉得这个是必要的吗?(每个部门要求和面试官的想法不一样 没什么正确不正确 个人认为大学生有时间去读react源码还不如深入理解计算机基础)🤔面试感受连续被腾讯一面拷打了六次后 整个人在面试的时候都有点失去自信了 回答的有点虚 回答八股的时候感觉其实可以进一步地展开知识点 而不是只回答问的问题 最重要的就是前面十道题有几道没写出来太掉好感了 其实大部分题之前都见过 但好久没看js基础还是忘了 感觉一些完全没必要详细记住的知识点(比如var的变量提升和字符串的正则匹配)感觉这些都是可以现查的 有个印象就行 完全记住了也没什么用而且一段时间不用也会忘 到头来还是要现查 真的有必要都记住吗? 还是就只是为了面试呢? 秒挂
点赞 评论 收藏
转发
16 201 评论
分享
牛客网
牛客企业服务