前言:
没有绝对的天才,只有持续不断的付出。对于我们每一个平凡人来说,改变命运只能依靠努力+幸运,但如果你不够幸运,那就只能拉高努力的占比。
2020年7月,我有幸成为了百度的一名Java后端开发,正如标题所说,我从外包辞职了,10000小时后,走进百度拿下了offer。相信同行都清楚,从外包进大厂有多难,运气之余,也离不开我自己的脚踏实地,所幸每踏出的一步都留下了厚厚的脚印。
下文内容涉及到:面试题(含答案)+学习笔记+电子书籍+学习视频,免费打包分享
百度Java工程师面试经历还原
1.百度4面面试题
因为我个人有复盘的习惯,所以在面试百度时,基本是做到了每一轮结束就把面试题给总结出来,当然总结出来的可能跟实际情况有细微出入,但相差不大,基本上是我记忆里的极限。
Java基础部分
- 重载和重写的区别
- 接口和抽象类的区别
- HashMap和HashTable有什么区别?其底层实现是什么?
- 什么是字节码?采用字节码的好处是什么?
- Java中的异常体系
- GC如何判断对象可以被回收
- ==和equals比较
- List和Set的区别
- ConcurrentHashMap原理,jdk7和jdk8版本的区别
- 为什么局部内部类和匿名内部类只能访问局部final变量?
- String、StringBuffer、StringBuilder
线程、并发相关
- 线程的生命周期?线程有几种状态
- GC如何判断对象可以被回收
- sleep()、wait()、join()、yield()的区别
- 对线程安全的理解
- Thread、Runable的区别
- 对守护线程的理解
- ThreadLocal的原理和使用场景
- ThreadLocal内存泄露原因,如何避免
- 并发的三大特性
- 为什么用线程池?解释下线程池参数?
- 线程池中阻塞队列的作用?为什么是先添加列队而不是先创建最大线程?
Spring
- 如何实现一个IOC容器
- 谈谈你对IOC的理解
- BeanFactory和ApplicationContext有什么区别?
- 描述一下Spring Bean的生命周期?
- Spring框架