面试多家大厂,成功跳槽美团,理出一份Java 开发必备面试题

我是2015年毕业的,在上海工作,从事Java研发五年多,中间换了两次工作,工资还算满意,但工作内容都是反复造轮子,技术提升慢,感觉也学不到东西,一直梦想着有一天能进入BAT等大型互联网企业工作,跟着大牛学习,提高自己的技术能力,为自己的履历镀金。

从萌生这个念头的那天起,我就开始密切地关注互联网大厂的Java岗招聘信息,直到今年的八月份,我觉得准备得差不多了,开始海投简历,包括阿里、腾讯、头条、美团点评、京东等各互联网公司的高级Java岗位,最终成功拿下美团点评高级Java岗的offer。

金九银十到了到了,本文分享面试题给正准备跳槽,准备找工作的你,这次面试美团也是做了很多的准备,还好顺利拿到了offer,首先不同面试官面试风格一定不同,我这里就是总结这些天面试大厂过程中被问到的大多数问题,希望有用。

综合分类:

  • 数据结构和算法
  • JVM
  • Java核心基础
  • 多线程/高并发
  • 集合框架
  • 数据库
  • Java WEB
  • Linux
  • 答题技巧
  • 人事问题

面试问题

一、数据结构和算法

  1. 判断身份证:要么是15位,要么是18位,最后一位可以为字母,并写程序提出其中的年月日。
  2. 说明生活中遇到的二叉树,用Java实现二叉树。
  3. 第1个人10,第2个比第1个人大2岁,依次递推,请用递归方式计算出第8个人多大?
  4. 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问第月的兔子总数为多少?
  5. 打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例 如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。在2000以内的数字。
  6. 输入两个正整数 m和 n,求其最大公约数和最小公倍数。
  7. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
  8. 求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一个数字。例如 2+22+222+2222+22222(此时 共有 5 个数相加),几个数相加有键盘控制。

面试多家大厂,成功跳槽美团,理出一份Java 开发必备面试题

二、JVM

  1. Java类加载过程?
  2. 描述一下JVM加载class文件的原理机制?
  3. Java内存分配
  4. Java堆的结构是什么样子的?什么是堆中的永久代(Perm Gen space)?
  5. GC是什么? 为什么要有GC?
  6. 简述Java垃圾回收机制。
  7. 如何判断一个对象是否存活?(或者GC对象的判定方法)
  8. 垃圾回收的优点和原理。并考虑2种回收机制。
  9. 深拷贝和浅拷贝
  10. Java中垃圾收集的方法有哪些?

面试多家大厂,成功跳槽美团,理出一份Java 开发必备面试题

三、Java核心基础

  1. 说说&和&&的区别。
  2. 值传递和引用传递
  3. 在Java中如何跳出当前的多重嵌套循环?
  4. switch语句能否作用在byte上,能否作用在long上,能否作用在String上
  5. char型变量中能不能存贮一个中文汉字?为什么?
  6. "=="和equals方法究竟有什么区别?
  7. 静态变量和实例变量的区别?
  8. ClassLoader如何加载class
  9. hashCode方法的作用?
  10. Java中实现多态的机制是什么?

面试多家大厂,成功跳槽美团,理出一份Java 开发必备面试题

四、多线程/高并发

  1. stop()和suspend()方法为何不推荐使用?
  2. sleep() 和 wait() 有什么区别?
  3. 同步和异步有何异同,在什么情况下分别使用他们?
  4. 概括的解释下线程的几种可用状态
  5. 请说出你所知道的线程同步的方法
  6. 线程调度和线程控制
  7. 什么是线程饿死,什么是活锁?

面试多家大厂,成功跳槽美团,理出一份Java 开发必备面试题

五、集合框架

  1. ArrayList和Vector的区别
  2. HashMap和Hashtable的区别
  3. hashmap的数据结构
  4. HashMap的工作原理是什么?
  5. Hashmap什么时候进行扩容呢?
  6. List、Map、Set三个接口,存取元素时,各有什么特点?
  7. Java集合类框架的基本接口有哪些?
  8. Java集合类框架的最佳实践有哪些?

面试多家大厂,成功跳槽美团,理出一份Java 开发必备面试题

六、数据库

  1. 在MySQL中ENUM的用法是什么?
  2. CHAR和VARCHAR的区别?
  3. 列的字符串类型可以是什么?
  4. MySQL中使用什么存储引擎?
  5. 主键和候选键有什么区别?
  6. MySQL数据库服务器性能分析的方法命令有哪些?
  7. 数据库的三范式?
  8. 什么是通用SQL函数?
  9. MySQL中有哪几种锁?
  10. MySQL数据优化
  11. MySQL的关键字
  12. Redis是什么?两句话做下概括
  13. Redis实现原理或机制
  14. Redis、memcache、MongoDB 对比

面试多家大厂,成功跳槽美团,理出一份Java 开发必备面试题

七、Java WEB

  1. Tomcat的优化经验
  2. 解释一下什么是Servlet
  3. 说一说Servlet的生命周期
  4. JSP有哪些动作?作用分别是什么?
  5. Servlet API中forward() 与redirect()的区别?
  6. JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
  7. MVC的各个部分都有那些技术来实现?如何实现?

面试多家大厂,成功跳槽美团,理出一份Java 开发必备面试题

八、Linux

  1. LINUX下线程,GDI类的解释。
  2. 怎么查看当前进程?怎么执行退出?怎么查看当前路径?
  3. Ls 命令执行什么功能? 可以带哪些参数,有什么区别?
  4. Linux 下命令有哪几种可使用的通配符?分别代表什么含义?
  5. Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?
  6. 通过什么命令指定命令提示符?

面试多家大厂,成功跳槽美团,理出一份Java 开发必备面试题

九、人事问题

  1. 请讲一下这样一个经历:尽管其他人反对,但是你还是坚持自己的观点,并把事情继续做下去。
  2. 你的一位领导脾气比较急,批评下属时常常不留情面,大家的工作情绪经常受到影响。作为职员,你该怎么办?
  3. 与上级意见不一是,你将怎么办?
  4. 你是应届毕业生,缺乏经验,如何能胜任这项工作?
  5. 5年之内你想处于什么位置?

面试多家大厂,成功跳槽美团,理出一份Java 开发必备面试题

最后的话

希望这些面试题 可以帮到你们,offer不断。

资料获取方式:加下方小助理,即可免费获取!

面试多家大厂,成功跳槽美团,理出一份Java 开发必备面试题