首页 > 百度提前批 搜索架构部C++开发 一二面面经
头像
Ereignis
编辑于 2021-07-17 16:24
+ 关注

百度提前批 搜索架构部C++开发 一二面面经

攒攒人品发发面经- -

一面

复习的有点仓促,只复习了C++部分,导致八股文部分很多专业名词都忘了,都是意会+手舞足蹈比划,还被面试官吐槽了- -

而且八股文问的时间有点久,以至于最后没问算法题

1.自我介绍以及介绍两个实习经历(3min)
2.C++语言相关(20min)
  • C和C++的区别
  • 面向对象的三个特点,和面向过程在开发上有什么不同
  • dynamic_cast和static_cast的区别
  • 引用和指针的区别,引用是否占用实际空间
  • 多态:静态多态和动态多态,以及在底层都是怎么实现的
  • malloc和new的区别(是否构建对象,如何异常处理,返回类型不同),new如何不抛出异常,new如何指定地址创建对象/在栈区创建对象
  • 智能指针:shared_ptr在什么场合会引用计数增、减,shared_ptr的具体结构,unique_ptr是怎样实现的
  • 编译-链接-加载的过程,动态链接和静态链接的过程
3.计算机八股文(30min)
  • 进程和线程的区别,进程和线程占用的资源
  • IO多路服用的实现:poll和epoll的区别,使用的数据结构,水平触发和边沿触发的区别、应用场景
  • 虚拟内存的意义,页表(多级页表,还问了Linux的页表有几级...),页的缺页中断调度
  • 进程的写时复制、文件描述符的共享情况。
  • 内存池的作用,伙伴系统和合并算法
  • 自旋锁和互斥锁的区别,互斥锁,不可重入锁,死锁的条件和解决方法
  • tcp四次挥手
  • Redis(这块答得超级烂):aof和rdb各自的优缺点,rehash的时机和策略
4.反问环节:三分钟

二面
1.自我介绍,实习介绍和问一些问题(15分钟)
  • 实习相关问题
  • 项目(Http服务器):reactor模型和proactor模型的区别/对比,redis的好处
  • 实验室项目简单介绍
2.一些简单的八股文(5分钟)
  • 实习过程中用到的过哪些设计模式,是否尝试过自己写过迭代器
  • vector的扩容
3.写题(20分钟)
  • 判断链表中是否有环->定位链表中是否有环
4.搜索引擎相关的知识(20分钟)
  • 谈谈对搜索引擎如何理解,倒排索引怎么实现
  • 搜索引擎和数据库引擎的共性和不同(因为我实习做的数据库引擎- -)
  • 一个小算法题;多个链表找交集(对应搜索引擎里多个关键词搜索)
  • 多个倒排索引merge时顺序怎么选择,有什么merge算法
5.反问环节



更多模拟面试

全部评论

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

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐