百度暑期实习面经合集!
百度暑期实习的第一批笔试已经结束了,面试时间从4.5日后开始,清明节假期结束后陆续开始面试。
为了更好的帮助大家准备百度的实习面试,这里给大家整理了一下去年的实习面经,可以参考一下。
注意:百度面试是三连面,和贝壳类似~
下面从Java基础、MySQL、框架和中间件、计算机基础和算法题几个方面分享。
Java基础
- 抽象类和接口的区别?
- Java的基本数据类型各占多少字节
- JVM的运行时区有什么?堆栈各放什么,说一下栈帧
- AQS了解吗?AQS做了什么?乐观锁和悲观锁?ABA怎么解决?
- CopyOrWirte容器了解过吗?
- Java如何判断死锁的?
- JVM内存模型?JNI在哪个区域?
- 垃圾回收算法,CMS和G1的区别?
- 类加载机制和双亲委派
- HashMap的1.7和1.8对比
- 深拷贝和浅拷贝
- ArrayList和LinkedList的区别?
- 多线程的创建方式?线程池用过吗?
- Synchronized和ReentrantLock的区别
MySQL
- B-与B+树的区别?
- ACID特性和事务的隔离级别
- 并发带来的事务问题有哪些?幻读如何解决的?脏读是什么
- MySQL的bin log、redo log、undo log讲一下
- MyISAM和InnoDB的区别
- 建立索引需要考虑什么?性别可以建索引吗?为什么?
- 大数据量使用limit分页时如何进行优化?
- MVCC讲一下?什么是回表?
- 数据库死锁是什么?如何解决?
- 数据库优化了解过吗?
框架和中间件
- Spring源码了解过吗?
- 项目中用的注册中心是什么?nacos和eureka区别?
- Redis是单线程的吗?为什么这么快呢?
- Redis的过期策略?如何实现分布式锁?
- Redis的数据结构,list的pop命令时间复杂度,怎样实现一个消息队列,怎么实现一个排行榜
- docker的优势?讲一下沙箱隔离机制,为什么docker比虚拟机快,了解k8s吗
- 消息队列的使用场景?如何保证消息的幂等性?如何避免重复消费?
- 具体讲讲跳表?这里问了为啥跳表max_level是32
- 熔断限流用的什么,底层是如何实现的
- RPC了解过吗?
计算机基础
HTTP常见状态码有哪些?分别表示什么含义?
TCP和UDP的区别和使用场景?
HTTP是如何复用tcp连接的,还是每次请求都重新握手?
死锁的四个条件?
三级缓存大小?
三次握手和四次挥手?
输入一个URL的过程
Ping的过程?ARP是什么?
进程与线程的区别?进程和线程的通信方式?
cookie和session的区别?
算法题
- 二叉树的左视图
- 三数之和
- 最长公共子序列
- 手写快排
- 最长回文子串
- 二叉树的非递归后序遍历
- 跳台阶问题
- 重排链表
- 反转链表
- 设计LRU
总结
百度的面试整体还算可以,面试考察的范围也比较广,建议大家好好准备。
由于面试是集中面试,所以大家一定要抽出足够的时间。
公众号:代码界的小白,会更新互联网消息、动态、高频八股、实战项目等。