《金九银十秋招Java岗》:最全的BAT大厂面试题整理

临近秋招,又到了“金九银十”面试求职高峰期,最近有很多网友都在求大厂面试题。正好我之前电脑里面有这方面的整理,于是就发上来分享给大家。这些题目是网友去百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率,希望可以帮助大家,祝大家求职顺利。

01 java面试题

熟练掌握java是很关键的,大公司不仅仅要求你会使用几个api,更多的是要你熟悉源码实现原理,甚至要你知道有哪些不足,怎么改进,还有一些java有关的一些算法,设计模式等等。

1.1 java基础面试知识点

1. java中==和equals和hashCode的区别

2. int、char、long各占多少字节数

3. int与integer的区别

4. 谈谈对java多态的理解

5. String、StringBuffer、StringBuilder区别

6. 什么是内部类?内部类的作用

7. 抽象类和接口区别

8. 抽象类的意义

9. 抽象类与接口的应用场景

10. 抽象类是否可以没有方法和属性?

11. 接口的意义

12. 泛型中extends和super的区别

13. 父类的静态方法能否被子类重写

14. 进程和线程的区别

15. final,finally,finalize的区别

16. 序列化的方式

17. Serializable 和Parcelable 的区别

18. 静态属性和静态方法是否可以被继承?是否可以被重写?以及原因?

19. 静态内部类的设计意图

20. 成员内部类、静态内部类、局部内部类和匿名内部类的理解,以及项目中的应用

21. 谈谈对kotlin的理解

22. 闭包和局部内部类的区别

23. string 转换成 integer的方式及原理

1.2 java深入源码级的面试题(有难度)

1. 哪些情况下的对象会被垃圾回收机制处理掉?

2. 讲一下常见编码方式?

3. utf-8编码中的中文占几个字节;int型几个字节?

4. 静态代理和动态代理的区别,什么场景使用?

5. Java的异常体系

6. 谈谈你对解析与分派的认识。

7. 修改对象A的equals方法的签名,那么使用HashMap存放这个对象实例的时候,会调用哪个equals方法?

8. Java中实现多态的机制是什么?

9. 如何将一个Java对象序列化到文件里?

10. 说说你对Java反射的理解

11. 说说你对Java注解的理解

12. 说说你对依赖注入的理解

13. 说一下泛型原理,并举例说明

14. Java中String的了解

15. String为什么要设计成不可变的?

16. Object类的equal和hashCode方法重写,为什么?

1.3 线程、多线程和线程池

1. 开启线程的三种方式?

2. 线程和进程的区别?

3. 为什么要有线程,而不是仅仅用进程?

4. run()和start()方法区别

5. 如何控制某个方法允许并发访问线程的个数?

6. 在Java中wait和seelp方法的不同;

7. 谈谈wait/notify关键字的理解

8. 什么导致线程阻塞?

9. 线程如何关闭?

10. 讲一下java中的同步的方法

11. 数据一致性如何保证?

12. 如何保证线程安全?

13. 如何实现线程同步?

14. 两个进程同时要求写或者读,能不能实现?如何防止进程的同步?

15. 线程间操作List

16.Java中对象的生命周期

17. Synchronized用法

18. synchronize的原理

19. 谈谈对Synchronized关键字,类锁,方法锁,重入锁的理解

20. static synchronized 方法的多线程访问和作用

21. 同一个类里面两个synchronized方法,两个线程同时访问的问题

22. volatile的原理

23. 谈谈volatile关键字的用法

24. 谈谈volatile关键字的作用

25. 谈谈NIO的理解

26. synchronized 和volatile 关键字的区别

27. synchronized与Lock的区别

28. ReentrantLock 、synchronized和volatile比较

29. ReentrantLock的内部实现

30. lock原理

31. 死锁的四个必要条件?

32. 怎么避免死锁?

33. 对象锁和类锁是否会互相影响?

34. 什么是线程池,如何使用?

35. Java的并发、多线程、线程模型

36. 谈谈对多线程的理解

37. 多线程有什么要注意的问题?

38. 谈谈你对并发编程的理解并举例说明

39. 谈谈你对多线程同步机制的理解?

40. 如何保证多线程读写文件的安全?

41. 多线程断点续传原理

42. 断点续传的实现

02 非技术性问题&HR问题汇总

这里整理的是一些与技术没有直接关系的面试题,但是能够考察你的综合水平,所以不要以为不是技术问题,就不看,往往有时候就是这样一些细节的题目被忽视,而错过了一次次面试机会。

1.1 非技术问题

1. 介绍你做过的哪些项目

2. 都使用过哪些框架、平台?

3. 都使用过哪些自定义控件?

4. 研究比较深入的领域有哪些?

5. 对业内信息的关注渠道有哪些?

6. 最近都读哪些书?

7. 有没有什么开源项目?

8. 自己最擅长的技术点,最感兴趣的技术领域和技术点

9. 项目中用了哪些开源库,如何避免因为引入开源库而导致的安全性和稳定性问题

10. 实习过程中做了什么,有什么产出?

1.2 HR提出的面试问题

1. 您在前一家公司的离职原因是什么?

2. 讲一件你印象最深的一件事情

3. 介绍一个你影响最深的项目

4. 介绍你最热爱最擅长的专业领域

5. 公司实习最大的收获是什么?

6. 与上级意见不一致时,你将怎么办?

7. 自己的优点和缺点是什么?并举例说明?

8. 你的学习方法是什么样的?实习过程中如何学习?实习项目中遇到的最大困难是什么以及如何解决的?

9. 说一件最能证明你能力的事情

10. 针对你你申请的这个职位,你认为你还欠缺什么

11. 如果通过这次面试我们单位录用了你,但工作一段时间却发现你根本不适合这个职位,你怎么办?

12. 项目中遇到最大的困难是什么?如何解决的?

13. 你的职业规划以及个人目标、未来发展路线及求职定位

14. 如果你在这次面试中没有被录用,你怎么打算?

15. 评价下自己,评价下自己的技术水平,个人代码量如何?

16. 通过哪些渠道了解的招聘信息,其他同学都投了哪些公司?

17. 业余都有哪些爱好?

18. 你做过的哪件事最令自己感到骄傲?

19. 假如你晚上要去送一个出国的同学去机场,可单位临时有事非你办不可,你怎么办?

20. 就你申请的这个职位,你认为你还欠缺什么?

21. 当前的offer状况;如果BATH都给了offer该如何选?

22. 你对一份工作更看重哪些方面?平台,技术,氛围,城市,还是money?

23. 理想薪资范围;杭州岗和北京岗选哪个?

24. 理想中的工作环境是什么?

25. 谈谈你对跳槽的看法

26. 说说你对行业、技术发展趋势的看法

27. 实习过程中周围同事/同学有哪些值得学习的地方?

28. 家人对你的工作期望及自己的工作期望

29. 如果你的工作出现失误,给本公司造成经济损失,你认为该怎么办?

30. 若上司在公开会议上误会你了,该如何解决?

31. 是否可以实习,可以实习多久?

32. 在五年的时间内,你的职业规划

33. 你看中公司的什么?或者公司的那些方面最吸引你?

获取资料:

本次给大家分享一些学习资料,里面包括:(BATJ面试资料、高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)和Java进阶学习路线图,以及千人高级程序员学习交流群...

领取方式: 加q群 468897908 免费获取!

推荐阅读更多精彩内容