百度研发面经整合版

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/82701251

百度研发面经整合版

 

 

 

 

软件研发工程师

 

基础研发工程师

 

百度智能云

 

百度核心搜索部

 

 

 

 

 

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

 

下面是我的面经,包括三个部门的面试,每个部门侧重点不太一样。

 

◆ ◆ ◆ ◆ ◆

 

 

 

1一面

百度智能云 账号和消息部门

一面:

1 项目

2 讲一下AOP吧

3 动态代理和静态代理有什么区别

4 TCP和IP报文是否会分片,分别在什么情况下会分片。

TCP分包之后是否还会进行ip分片

5 做个题

无限长轨道。两辆车同方向开,车会滴水,怎么让他们相遇。这题简直像脑筋急转弯。

6 写一个斐波那契数列

递归式,要求改进

dp方式,要求优化空间

用三个变量代替数组进行dp,要求改进

我说数学公式,OK。

7 讲一下Linux的内存结构,我说只会JVM的,他让我说一下。

两者的内存如何映射,是什么关系,不会。

8 没了

 

二面:

1 项目讲一下,10多分钟去了。

2 排序算法,复杂度,比较。快排的空间复杂度是logn

3 讲一下OSI七层模型,我说了5层模型,然后他让我再补充一下,问了每层的作用,问了wifi属于哪一层。

4 线程间的同步用什么方式,说了object方法。

问我使用hashmap时重写哪两个方法,为什么要重写,巴拉巴拉,什么场景下重写。

5 平时用过什么数据结构,list用哪些有啥区别。

6 Spring中的ioc和aop。ioc的注解有哪些。

autowired和resource有什么区别,作用域有哪些。

autowired如何配置两个类中的一个吗

7 写一个单例模式,有点忘却了,巴拉巴拉搞出一个双重检测的,中间改了多次。

8 Java会有内存泄漏吗,三个区分别什么情况下会产生内存泄漏

 

三面:

1 主要了解哪些技术

2 分布式系统怎么设计,说了CAP和BASE,最终一致性

3 问我最终一致性是什么,举一下强一致性和最终一致性的例子。分布式事务和消息队列

4 分布式事务的消息id怎么确认顺序,我说使用zk

5 zk的性能瓶颈怎么克服,我说使用redis和redis集群。

6 跨机房的网络延迟怎么解决,我说不懂,他让我猜一侠华北到华南的延迟时间大概是多久,我说大概十秒内。

7 网络这块熟么,说一下socket编程吧。说了一下java的socket

8 网络编程的NIO和BIO区别,阻塞指的是什么意思呢。

9 socket客户端和服务端的连接过程和通信过程说一下。

10 操作系统熟么,一般版,shell和命令熟么,不熟。

11 算法熟么,答不熟。

12 系统怎么设计,设计模式怎么用

13 系统优化怎么做,cpu,IO,内存分别怎么排查问题和调优

14 家乡,女朋友,巴拉巴拉

 

百度核心搜索

一面:

1 自我介绍

2 docker和k8s了解多少

3 研究生学了哪些课程

4 操作系统了解么,讲一下进程和线程

5 死锁和处理方式

6 内存,虚拟内存和页面置换

7 网络了解么,讲一下三次握手和四次挥手

8 数据库了解多少,mysql索引,事务,锁讲了一些

9 Redis呢,讲了一下数据结构,持久化方式,使用场景

10 分布式了解哪些,负载均衡有哪些方式,说了dns,nginx,lvs和硬件,一致性问题怎么解决,说了2pc,3pc,raft和paxos,zab

10 mysql大表数据查询,怎么优化,分表,分库。

11单链表判环

使用快慢指针解决

12 完全二叉树判断:

 

 

 

二面:

1 项目

2 docker和kubenetes的原理和了解程度

3 docker的cgroup了解么

4 kubenetes的架构,扩容是怎么完成的。

5 Java的四种引用

6 Java的线程通信方式

7 Linux的进程通信方式

8 Java的线程池

9 算法

1 - N + 1这些数中取出N个,问剩下的是哪个。。

我说加起来相减,面试官说取巧了,不能这样。

我说比较数组下标,他还是说取巧。

于是我让他提示我一下,他说了排序再找。。额

然后想了两个空间换时间的办法,一个是用hashmap遍历两个数组。一个是合并数组后统计数字出现次数,也是hashmap

 

给定一串数字,找出所有可能的IP地址组合,比如192168111,组合是192.168.1.11,192.168.11.1。

应该LeetCode的题。之前自己没写完整,现场憋出来了。

这个代码应该没错。面试官看了二十分钟才说ok。

然后我们就这样沉默了20分钟,中间他就说了几句话。

 

三面:

1项目

2家庭情况

3学习生活的挑战

4学新技术的方式

5解释一下docker

6意向城市和岗位方向

 

 

百度智能云

基础研发工程师

一面

1 项目

2 队列和栈区别

3 两个栈实现队列,两个栈实现最小值栈

4 数据库的事务性质,如何实现这些性质

5 事务隔离级别有哪些,默认是什么级别。

6 已提交读有什么问题,用于什么场景

7 二叉树了解么,平衡二叉树呢,有什么场景会用到呢。

8 僵尸进程和孤儿进程是什么,分别有什么危害。

9 主从复制怎么实现。

10 Redis你用来做什么,为什么不用mq做异步队列

11 分布式文件系统了解么,HDFS讲一下原理

12 Java中一般用什么类型表示价格。

13 Java如何把byte类型转换成字符串

14 Java的string类型为什么是不可变的

15 有什么问题

 

 

 

 

 

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


                     wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/640132

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。