百度研发面经

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/82702370 百度研发面经   本文首发于微信公众号:程序员江湖 百度智能云 软件研发工程师              百度今年的提前批有点奇怪,好像都不走流程,牛客上好几个百度内推的帖子,我投了几个,基本上都是百度智能云的。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/82702370

百度研发面经

 百度智能云

软件研发工程师

 

 

         百度今年的提前批有点奇怪,好像都不走流程,牛客上好几个百度内推的帖子,我投了几个,基本上都是百度智能云的。  

        然后这些部门都安排了面试,没有冲突,所以没有动静的小伙伴可以投投别的部门试试。  

        下面是我的两篇面经,后续会继续更新,每个部门侧重点不太一样。

 

 

 

 

百度智能云研发岗  

 

好像是做控制台方面的组

 

一面:  

 

1自我介绍,项目

2 static关键字有什么用,static修饰不同东西时有什么作用,内部类用static修饰和不用static修饰有何区别。

3 hashmap,hashtable,concurrenthashmap区别和场景

4 volatile关键字有什么用

5 jvm分区讲下,作用讲下,gc算法讲一下,gc是否会有停顿或者延迟。

6 讲一下OOM和内存泄漏的例子,为什么有GC还会出现内存泄漏和内存溢出呢

7 线程和进程的区别,通信方式的区别。

8 悲观锁和乐观锁,说一下Java和数据库分别怎么实现的。

9 数据库索引说一下,除了B+树索引还有什么索引。

10倒排索引说一下,如果关键字很多,怎么优化。使用前缀树和hashmap优化。

11 前缀树的结构和原理说一下。

12 浏览器发起http请求过程,越详细越好。

13 缓存和数据库的一致性怎么保证

14 网上写代码,写了一个快排

15 没了。

 

二面:  

1 自我介绍

2 项目中难点,用到的技术

3 多线程,说一下线程的状态和状态转换,详细问

4 多线程的sleep方法和wait方法为什么来源不同,一个是object方法,一个是Thread的方法。

5 为什么object的wait和notify必须在同步块中使用,不在同步块使用会报错么,编译报错还是运行报错。

6 jvm讲一下gc吧,两个对象的引用循环依赖,会不会被垃圾回收,什么情况下会什么情况下不会呢

7 GC root是哪些位置呢,我说记不起来,他说你不用记,其实就是运行时的一些对象和变量,比如局部变量表,方法区的元数据比如fianl,static变量,本地方法栈执行的方法。  

8 数据库了解哪个。Redis说一下为什么是单线程的,不会很慢么,有什么好处。

9 Redis的IO请求模型,是不是IO多路复用呢。

10 Spring的interceptor和filter有什么区别。我说没区别,错!

11 网络这块,说一下dns请求的过程吧,dns是否会访问缓存呢,缓存在本地和浏览器,还有dns服务器上是不是都有。

12 get和post的区别讲一下,底层的实现有区别么,都是基于TCP,那么如何限制get的url长度,在哪一层限制的。

13 数据结构熟么,讲一下树和图吧,树的层次遍历使用什么结构,相应的图的遍历呢。讲讲最小生成算法,还有迪杰斯特拉。

14 数组,找到唯一一个出现两次的数。

刚开始听错,说了位运算。

a 然后讲了数组计数,hash计数,排序比较。

b 然后面试官说条件给的是1到N-1的N个数字,重新想一下。

c 说了根据数组位置和数字比较进行判断。面试官最后说可以用相加求差值来判断。

15 一个10000以下的数组,内存够。里面只有1,2,3。排下序。

a 普通排序O(nlogn)

b 荷兰旗问题,双指针解决。O(N)

c 统计数量,重放数组O(2N)

d 另外搞一个数组,把1放头,3放尾,也是双指针。O(N)。空间复杂度O(N)

16 没了。

全程50分钟

 

三面HR  

 

巴拉巴拉巴拉。基本上问题都大同小异。

 

 

 

 

百度智能云 数据库部门  

 

一面:  

1 数据库的事务,四个性质说一下,分别有什么用,怎么实现的。一致性没讲好。

2 讲到了redo和undo日志,问我分别有什么用,说redo日志说错了。

3 数据库的隔离性如何保证,使用悲观锁和乐观锁有何区别。MVCC的设计目的是什么,怎么使用版本号判断数据的可见性。

4 问了一道算法,1到N的所有数字,按照字典序打印,怎么做。

说了用数组排序,问复杂度,扯了半天。

怎么优化,按照数字特征顺序打印,问这个东西和什么结构比较像。提示是树,然后说了个多叉树,问我怎么实现,最后其实使用dfs遍历树的每个分支。

5 多线程并发的同步实现,有两个方法,每个方法里有a部分代码和b部分代码,我要让两个线程分别执行两个方法,并且让他们运行完a部分代码再一起向下执行,如何实现。

6 我说了用cyclicbarrier实现,互相等待await。

然后他问我怎么用信号量实现,并且提示可以再用一个线程。

然后我说了个方案。

7 问了项目

8 如何把优化递归的代码

改成尾递归或者循环。

面试官说不是,引导说用栈实现递归。

问我栈中需要压入哪些数据。他说应该是方法参数,返回值,以及返回地址。

 

二面:  

 

1 自我介绍,项目 10分钟过去

2 服务器如何负载均衡,有哪些算法,哪个比较好,一致性哈希原理,怎么避免DDOS攻击请求打到少数机器。

3 TCP连接中的三次握手和四次挥手,四次挥手的最后一个ack的作用是什么,为什么要time wait,为什么是2msl。

4 数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决。

5 今天面试太多了,记不清了。。。

6 开源的技术看过用过么,分布式存储的了解么。

7 想做什么方向的开发。

8 Linux查看cpu占用率高的进程

9 查看占用某端口的进程和某进程监听的端口

10 如何查询日志文件中的所有ip,正则表达式

 

三面(8.3号更新):  

数据库部门真的很严格,问题都挺难的。

1 讲一下项目

2 平时了解什么操作系统

Linux,说一下Linux排查问题常用的命令,ps,top,netstat,free,du等等

3 Linux的内存管理算法,问了一下是不是页面置换算法,他说是。

说了lru和fifo,问我lru有什么缺点,没答上来。

4 Linux的文件系统了解么,讲了一下inode节点,文件和目录的原理。他问我了不了解具体的文件系统ext2,ext3,答不会。。

5 进程通信方式有哪些,问我分别怎么使用,管道有哪些类型,各有什么优缺点。

6 问我服务器硬件了解么。。一脸懵逼,问了我懂不懂Raid,瞎扯了几句就说不懂了。

7 shell了解么,没怎么写过。

8 听说你会Java,说一下JVM内存模型把,有哪些区,分别干什么的

9 说一下gc算法,分代回收说下。

10 设计模式了解么,说了7种,问我分别怎么用,实际应用过吗,稍微扯了一下。

11 MySQL的引擎讲一下,有什么区别,使用场景呢。

12 查询最新的10条数据,想了好一会,order by id desc limit 10

13 MySQL的union all和union有什么区别,我瞎掰了一下,应该不对。

14 MySQL有哪几种join方式,底层原理是什么,答不会,只知道表现形式。

15 Redis了解哪些啊,数据结构和基本原理把。

问我Redis怎么做集群,答了主从哨兵和cluster。

Redis的持久化怎么做,aof和rdb,有什么区别,有什么优缺点。

16 Redis使用哨兵部署会有什么问题,我说需要扩容的话还是得集群部署。

17 分布式系统了解么,说一下Hadoop了解啥。

我说基本组件稍微了解过,简单搭过环境。

18 MapReduce的combiner干啥的,我说是合并结果的,问我啥时候会用到,答不知道。

19 Hadoop分发任务时,有个job失败了,hadoop会怎么处理,我答不知道,猜是会继续执行。。

20 hadoop分发任务,如果有一个节点特别慢拉慢了整体速度怎么办。我猜测是通过yarn分配相同的资源给每个任务,可以避免这种情况,他好像不太满意。

21 hadoop答得很烂。问了我两个10g文件比较,2g内存,重复率很高,筛选出不同的内容。我说拆成十份hash,每份两两比较hash的结果集,貌似他说OK。

22 排序算法了解哪些,巴拉巴拉。

23 用队列计算一个树的高度,我说用层次遍历记录节点高度。

24 一个黑名单集合,数据量很大,快速查询一个值是否在集合里,怎么设计,我说布隆过滤器。

25 还是上一题,说这个黑名单可能需要动态地增删改,如何设计才能避免访问响应太慢。我没思路,瞎扯了一下加硬件,用内存存,都被驳回了。然后他说算了。

26 上一题的黑名单做成分布式,怎么做。说了分片的方案,根据地址的hash值确定分片所在节点。

27 分布式数据库了解么,我不太明白他问的是啥,说不了解,感觉应该是问数据库的分布式方案。

28 有什么想问的,据他所说还有2-3轮面试,惊了。

 

 

全程50分钟,可以说是迄今为止难度最大的一个?

 

 

微信公众号【黄小斜】大厂程序员,互联网行业新知,终身学习践行者。关注后回复「Java」、「Python」、「C++」、「大数据」、「机器学习」、「算法」、「AI」、「Android」、「前端」、「iOS」、「考研」、「BAT」、「校招」、「笔试」、「面试」、「面经」、「计算机基础」、「LeetCode」 等关键字可以获取对应的免费学习资料。 


                     

 

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
存储 Linux 应用服务中间件
非985、211,C/C++校招学到啥程度才能进鹅厂、阿里、百度等大厂
非985、211,C/C++校招学到啥程度才能进鹅厂、阿里、百度等大厂
|
缓存 移动开发 算法
2020年Android开发最新整理阿里巴巴、字节跳动、小米面经,你不看看吗?
前言 2020年是转折的一年,上半年疫情原因,很多学android开发的小伙伴失业了,虽找到了一份工作,但高不成低不就,下半年金九银十有想法更换一份工作,很多需要大厂面试经验和大厂面试真题的小伙伴,想提前准备刷下题。接下来分享一份我的字节跳动、阿里巴巴、百度、小米等大厂面试经验和总结。(文末附真题解析大全)
2020年Android开发最新整理阿里巴巴、字节跳动、小米面经,你不看看吗?
|
设计模式 算法 网络协议
2020年是意义非凡的一年,大专的我面试阿里P6居然过了
导语 学历永远是横在我们进人大厂的一道门槛,好像无论怎么努力,总能被那些985,211 按在地上摩擦! 不仅要被“他们”看不起,在HR挑选简历,学历这块就直接被刷下去了,连证明自己的机会也没有,学历真的这么重要吗?
2020年是意义非凡的一年,大专的我面试阿里P6居然过了
一道网红面试题(腾讯、百度面试中都出现过)
在腾讯和百度的面试中,出现了这样一道面试题,,被大家亲切的称呼为网红面试题,这道面试题就是。['1', '2', '3'].map(parseInt)的输出结果是什么?['1', '2', '3'].fliter(parseInt)的输出结果是什么? 这个面试题,面试官可能不仅仅需要你说出他的结果,还需要你知道为什么会出现这样的结果。
184 0
|
机器学习/深度学习 设计模式 JavaScript
2021阿里淘系工程师推荐书单
读书有点像机器学习从初始参数开始的局部最小化。 无论是数学、科学、技术、管理,还是历史、文学,读书的过程,就是根据一维的文字流,在立体的思维空间中重新建构。 这种建构的意义,将我们自身和世界连接了起来。 (阿里巴巴淘系技术部资深算法专家 乐田)
2021阿里淘系工程师推荐书单
|
前端开发 JavaScript 小程序
酷工作丨网易/腾讯招前端开发工程师、今日头条实习和高级岗位招聘
酷工作丨网易/腾讯招前端开发工程师、今日头条实习和高级岗位招聘
|
缓存 算法 Java
吃透这份pdf,面试阿里、腾讯、百度等一线大厂,顺利拿下心仪offer!
吃透这份pdf,拿下阿里、腾讯等大厂心仪offer(Java岗)!
|
存储 算法 数据库
最全技术面试180题:阿里11面试+网易+百度+美团!
网络编程 1.ISO模型与协议 2.http1.0:需要使用keep-alive参数来告知服务器端要建立一个长连接 3.http1.1:默认长连接。支持只发送header信息,可以用作权限请求。
1350 0
|
算法 NoSQL Java
百度研发面经整合版
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/82701251 百度研发面经整.