软件研发工程师
基础研发工程师
百度智能云
百度核心搜索部
百度今年的提前批有点奇怪,好像都不走流程,牛客上好几个百度内推的帖子,我投了几个,基本上都是百度智能云的,当然也有其他部门。
下面是我的面经,包括三个部门的面试,每个部门侧重点不太一样。
◆ ◆ ◆ ◆ ◆
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 有什么问题
▼更多精彩内容
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
### 个人公众号:程序员黄小斜
微信公众号【程序员黄小斜】新生代青年聚集地,程序员成长充电站。作者
黄小斜,职业是阿里程序员,身份是斜杠青年,希望和更多的程序员交朋友
,一起进步和成长!专注于分享技术、面试、职场等成长干货,这一次,我
们一起出发。
关注公众号后回复“2019”领取我这两年整理的学习资料,涵盖自学编程、求
职面试、算法刷题、Java技术学习、计算机基础和考研等8000G资料合集。
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ub3RlLnlvdWRhby5jb20v
eXdzL3B1YmxpYy9yZXNvdXJjZS8wNjk1ODIwMzc5MjhhMGU0OWViY2UyYjVhODVmM2
UwZi94bWxub3RlLzQyQzVCM0ZGQjg2ODQzMkNBMkI4NURENjNGQjFBQzdGLzg4MDQ4
?x-oss-process=image/format,png)
### 技术公众号:Java技术江湖
微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站,专注于
Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux
、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验
,致力于Java全栈开发!
关注公众号后回复“PDF”即可领取200+页的《Java工程师面试指南》强烈推
荐,几乎涵盖所有Java工程师必知必会的知识点。
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ub3RlLnlvdWRhby5jb20v
eXdzL3B1YmxpYy9yZXNvdXJjZS8wNjk1ODIwMzc5MjhhMGU0OWViY2UyYjVhODVmM2
UwZi94bWxub3RlLzRCNjhFODVCMzA4MzQwMjJCNzBGMTBBMTRDOEVENDVDLzg4MDQ3
?x-oss-process=image/format,png)
### 技术公众号:程序员知识码头
微信公众号【程序员知识码头】专注Java相关技术:SSM、Spring全家桶、
微服务、MySQL、MyCat、集群、分布式、中间件、Linux、网络、多线程,
运维Jenkins、Nexus、Docker、ELK,全套的系列文章助你更好的学习!
关注公众号后回复“PDF”即可领取200+页的《Java工程师面试指南》强烈推
荐,几乎涵盖所有Java工程师必知必会的知识点。
![](https://img-blog.csdnimg.cn/20200103212911258.jpeg)
### 技术公众号:程序员江湖
微信公众号【程序员江湖】英雄不问出处,编程不看出身。这里是自学编程
爱好者的聚集地,也是程序员IT学习资源的藏经阁。点击关注,一起成为更
优秀的程序员!
关注公众号【程序员江湖】后回复「Java」、「Python」、「C++」、「大
数据」、「算法」、「AI」、「Android」、「前端」、「iOS」、「BAT」
、「校招」、「笔试」、「面试」、「计算机基础」、「LeetCode」
等关键字可以获取对应的免费程序员学习资料。
微信公众号
个人公众号:程序员黄小斜
微信公众号【程序员黄小斜】新生代青年聚集地,程序员成长充电站。作者黄小斜,职业是阿里程序员,身份是斜杠青年,希望和更多的程序员交朋友,一起进步和成长!专注于分享技术、面试、职场等成长干货,这一次,我们一起出发。
关注公众号后回复“2019”领取我这两年整理的学习资料,涵盖自学编程、求职面试、算法刷题、Java技术学习、计算机基础和考研等8000G资料合集。
技术公众号:Java技术江湖
微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站,专注于 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!
关注公众号后回复“PDF”即可领取200+页的《Java工程师面试指南》强烈推荐,几乎涵盖所有Java工程师必知必会的知识点。