百度提前批 搜索架构部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.反问环节



#面经##校招##百度#
全部评论
楼主请问你是直接被推到这个部门的吗
1 回复 分享
发布于 2021-07-19 14:27
楼主没写算法题吗
点赞 回复 分享
发布于 2021-07-14 09:42
楼主有啥消息吗?我也面的这个部门,要不要加个微信?
点赞 回复 分享
发布于 2021-07-14 12:55
楼主是电话面还是视频面啊
点赞 回复 分享
发布于 2021-07-14 21:01
楼主有消息了吗
点赞 回复 分享
发布于 2021-07-14 22:20
算法题好简单呀
点赞 回复 分享
发布于 2021-07-19 14:49
楼主三面了吗
点赞 回复 分享
发布于 2021-07-20 09:11

相关推荐

250218 一面 50min    实习用这个 Kafka 对优化了这个消息的推送机制,他原来没有Kafka 之前是怎么推送的?Kafka是怎么分区的?然后消息推送到哪个分区?Topic用了几个?有几个分区,你们怎么判断用哪个分区,是轮询还是?    链表,队列还有栈,他们怎么实现的?底层数据结构可以说一下吗?一个链表查询的时间复杂度,还有删除添加的时间复杂度?说说你比较常用的两个集合?    介绍一下 TCP 的四次挥手的过程?(每次挥手完之后,你最好再说一下他的那个服务端还有客户端的状态)每次挥手后,客户端为什么会等待2msl?除了等待服务器返回数据还有什么原因?    谈谈这个 Java 的那个面向对象的设计思想?3 个访问修饰符?protected是什么情况下不能访问?写一个方法,不写这个访问修饰图,它默认是哪个访问修饰符?    HashMap和ConcurrentHashMap的区别?分段锁是加在哪里?段的大概的范围是什么?这个范围跟 1.8 相比对桶加锁他有什么区别?段的范围可以设置吗?HashMap哪些操作是线程安全的? 介绍下computeIfAbsent方法?    Java 那个操作字符串有哪些类?String a = “abc” 和 StringBuilder b  = new StringBuilder(”abc”),这两个相等吗?    JVM 有哪些垃圾回收算法?说一下CMS 垃圾回收的那个算法?CMS用在那个新生代还是老年代?项目(实习)里面一般用的垃圾回收器怎么配置的?    MySQL 的最左前缀的原则这个索引你了解吗?如果没有a,只有b、 c 它还能走联合吗?where a 大于一个数,还能走联合索引吗? Redis 的分布式锁你了解吗?保证它的加锁是原子操作?除了用 set NX 命令,还知道其他方式实现? Redis 比较高并发是怎么做到的?(单线程模型,还有它的那个数据结构这些方面,也还有它的那个这些方面来进行回答) Redis 的内存那个淘汰策略了解吗?Redis 的持久化策略你知道吗? MySQL 有几种日志讲一下?Redis 的主从复制讲一下?    基于MySQL 的商品状态的管理机制,这里的商品实例锁是锁吗?介绍一下你们这个商品状态的状态机都有哪几个状态?两个线程同时更改商品状态如何保证商品状态正确呢?    手撕:打家劫舍1,优化到O(1)空间复杂度250220 二面 55min在学校研究什么?这个模型是开源的吗?训练好的吗?物联网与普通计算机专业的最大区别是什么?你用过Python和Java,感觉哪个更好?为什么在订单系统中使用Kafka?如何确保消费不重复?Java注解的使用场景是什么?你自己实现过注解吗?    解释MySQL的隔离级别及其区别?一个事务场景题目, 三个事务abc,a嵌套b,b嵌套c,每个事务内k+1,问每个事务k的结果是多少?InnoDB引擎对比其它引擎的优势?手撕:三数之和,a+b+c=0返回不重复的所有组合反问:业务?(技术栈包括PHP和Java,新服务使用Java)    你如果要来的话,可能给你做php,能搞吗?#百度##后端##实习##度小满#
查看24道真题和解析
点赞 评论 收藏
分享
自我介绍请说下什么是单例模式(没啥印象,感觉和快速原型混起来了,答的比较含糊)说下mvc架构(就简单介绍了下模型视图控制器以及作用)可以说下http的常见状态码吗(各类说了与什么有关以及几个常见的)可以说下acid吗(介绍那四个特性)可以介绍下进程与线程吗(简单说了下进程是资源分配的基本单位,线程是调度的基本单位,以及特点)可以介绍下多进程与多线程优缺点吗(简单说了下多线程并发度更高,但是开销会大一些等)项目:介绍了分布式博客系统你项目的难点是什么(讲了一开始处理跨域请求,后续的服务线上容器化)你的项目一个方法用了update语句,它这样写你觉得有什么问题(说不出来)你的项目submitlikes方法用到了MySQL事务吗(没有,说了当时遇到问题,后端没法和MySQL同时优化,只能通过嵌入sql)算法:20分钟用On实现了找出只含有abc字母主串中含abc子串个数。十五分钟我用双指针写出来了,但有个细节没处理好,有的case过不了跟面试官说了思路,就是两个指针找到第一个含abc最短子串,然后加上后续字母数,同时在保持abc均有情况下,前指针向后挪,移动一位加一个,以此迭代反问:你觉得我有什么不匹配该岗位地方吗(面试官说本次面试的事情保密)你建议我学校不算特别强的情况下,走golang栈去校招吗(本身语言不是限制的,主要是你对基础知识的理解,学语言也就半个月的事儿。当然有的公司可能会问你特定语言的)你提到像现在高校很多教授不具备工业化开发经验,课程也是很落后的,那我们校招生只能靠自己摸石头过河,怎么办呢(计算机专业迭代本身非常快,特别需要有极强的自学能力,你比较建议能做的,就是找已经工作的学长学姐,咨询下,然后针对岗位要求针对性学习)像我这样考完研过年后才开始准备校招了,春招还有希望进大厂吗(现在环境非常差,进字节本身就是一件非常难得事情,春招三四月份其实现在就已经开始了,时间挺极限的,并且面试本来就是一件很看缘分的事儿,比如刚好这道题你会背,你跟面试官聊得来。你在提高自学能力到比较高的情况下,进字节这种大厂是有可能的。)我本身都在学校,那到底怎么做,有什么才能让我更好通过面试呢(很多校招进来的学生,做的项目也都是查表,也不如你做项目,但是他们有一个baseline,并且有吸引到面试官的地方。所以你在baseline的地方一定不能跨,并且要找自己的闪光点)可以详细说下baseline吗(比如说,面试问到的知识点都要答的好,现在有的教材也是错的。同时,算法题也要能写出来。所以在baseline具备的同时也需要具备一定的计算机知识的天赋和沉淀。这些才是最重要的)#牛客AI配图神器#
牛客565757902号:感觉这几个反问的回答都蛮有含金量的
查看15道真题和解析
点赞 评论 收藏
分享
评论
5
58
分享

创作者周榜

更多
牛客网
牛客企业服务