面试多家大厂,成功跳槽美团,理出一份Java 开发必备面试题
我是2015年毕业的,在上海工作,从事Java研发五年多,中间换了两次工作,工资还算满意,但工作内容都是反复造轮子,技术提升慢,感觉也学不到东西,一直梦想着有一天能进入BAT等大型互联网企业工作,跟着大牛学习,提高自己的技术能力,为自己的履历镀金。
从萌生这个念头的那天起,我就开始密切地关注互联网大厂的Java岗招聘信息,直到今年的八月份,我觉得准备得差不多了,开始海投简历,包括阿里、腾讯、头条、美团点评、京东等各互联网公司的高级Java岗位,最终成功拿下美团点评高级Java岗的offer。
金九银十到了到了,本文分享面试题给正准备跳槽,准备找工作的你,这次面试美团也是做了很多的准备,还好顺利拿到了offer,首先不同面试官面试风格一定不同,我这里就是总结这些天面试大厂过程中被问到的大多数问题,希望有用。
综合分类:
- 数据结构和算法
- JVM
- Java核心基础
- 多线程/高并发
- 集合框架
- 数据库
- Java WEB
- Linux
- 答题技巧
- 人事问题
面试问题
一、数据结构和算法
- 判断身份证:要么是15位,要么是18位,最后一位可以为字母,并写程序提出其中的年月日。
- 说明生活中遇到的二叉树,用Java实现二叉树。
- 第1个人10,第2个比第1个人大2岁,依次递推,请用递归方式计算出第8个人多大?
- 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问第月的兔子总数为多少?
- 打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例 如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。在2000以内的数字。
- 输入两个正整数 m和 n,求其最大公约数和最小公倍数。
- 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
- 求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一个数字。例如 2+22+222+2222+22222(此时 共有 5 个数相加),几个数相加有键盘控制。
二、JVM
- Java类加载过程?
- 描述一下JVM加载class文件的原理机制?
- Java内存分配
- Java堆的结构是什么样子的?什么是堆中的永久代(Perm Gen space)?
- GC是什么? 为什么要有GC?
- 简述Java垃圾回收机制。
- 如何判断一个对象是否存活?(或者GC对象的判定方法)
- 垃圾回收的优点和原理。并考虑2种回收机制。
- 深拷贝和浅拷贝
- Java中垃圾收集的方法有哪些?
三、Java核心基础
- 说说&和&&的区别。
- 值传递和引用传递
- 在Java中如何跳出当前的多重嵌套循环?
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上
- char型变量中能不能存贮一个中文汉字?为什么?
- "=="和equals方法究竟有什么区别?
- 静态变量和实例变量的区别?
- ClassLoader如何加载class
- hashCode方法的作用?
- Java中实现多态的机制是什么?
四、多线程/高并发
- stop()和suspend()方法为何不推荐使用?
- sleep() 和 wait() 有什么区别?
- 同步和异步有何异同,在什么情况下分别使用他们?
- 概括的解释下线程的几种可用状态
- 请说出你所知道的线程同步的方法
- 线程调度和线程控制
- 什么是线程饿死,什么是活锁?
五、集合框架
- ArrayList和Vector的区别
- HashMap和Hashtable的区别
- hashmap的数据结构
- HashMap的工作原理是什么?
- Hashmap什么时候进行扩容呢?
- List、Map、Set三个接口,存取元素时,各有什么特点?
- Java集合类框架的基本接口有哪些?
- Java集合类框架的最佳实践有哪些?
六、数据库
- 在MySQL中ENUM的用法是什么?
- CHAR和VARCHAR的区别?
- 列的字符串类型可以是什么?
- MySQL中使用什么存储引擎?
- 主键和候选键有什么区别?
- MySQL数据库服务器性能分析的方法命令有哪些?
- 数据库的三范式?
- 什么是通用SQL函数?
- MySQL中有哪几种锁?
- MySQL数据优化
- MySQL的关键字
- Redis是什么?两句话做下概括
- Redis实现原理或机制
- Redis、memcache、MongoDB 对比
七、Java WEB
- Tomcat的优化经验
- 解释一下什么是Servlet
- 说一说Servlet的生命周期
- JSP有哪些动作?作用分别是什么?
- Servlet API中forward() 与redirect()的区别?
- JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
- MVC的各个部分都有那些技术来实现?如何实现?
八、Linux
- LINUX下线程,GDI类的解释。
- 怎么查看当前进程?怎么执行退出?怎么查看当前路径?
- Ls 命令执行什么功能? 可以带哪些参数,有什么区别?
- Linux 下命令有哪几种可使用的通配符?分别代表什么含义?
- Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?
- 通过什么命令指定命令提示符?
九、人事问题
- 请讲一下这样一个经历:尽管其他人反对,但是你还是坚持自己的观点,并把事情继续做下去。
- 你的一位领导脾气比较急,批评下属时常常不留情面,大家的工作情绪经常受到影响。作为职员,你该怎么办?
- 与上级意见不一是,你将怎么办?
- 你是应届毕业生,缺乏经验,如何能胜任这项工作?
- 5年之内你想处于什么位置?
最后的话
希望这些面试题 可以帮到你们,offer不断。
资料获取方式:加下方小助理,即可免费获取!