### 引言
过年之后相信有一部分的人,早已磨刀霍霍向大厂。势必要大展拳脚,必将在大厂内创出一片天地。但是,想必大家都知道:最近几年的最严重的互联网寒冬来临,各位兄弟都会说“江湖再见”。耳边总是充刺着流言蜚语,这个地方裁员了,这个地方缩减HC。弄得人心慌慌。年后将是一片血雨腥风,程序界的江湖将在这一天精彩斑斓。
但我们要知道,寒冬之中,什么是最珍贵,就让鄙人告诉你:人才。只要有过硬的技术和装备,在逆风直下的情况下,咱们也能迎难而上,打他个戳手不及。不是“李云龙”大哥说:“过狭路相逢勇者胜。”
![](https://upload-images.jianshu.io/upload_images/11633898-ae669378df794840.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
**小编准备了一套天猫JAVA程序员面试题,大部分题目不设标准答案,重点考察面试者的基础知识和思维逻辑,答案的提示可以加小编QQ群937053620,获取!**
**一面:**
* HashMap实现原理,ConcurrentHashMap实现原理
* 红黑树,为什么允许局部不平衡
* TCP,UDP区别,为什么可靠和不可靠
* 一次HTTP请求的全过程,包括域名解析、定位主机等
* TCP三次握手
* MySQL事务是什么?四大特性,四大隔离级别
* ConcurrentHashMap和Hashtable区别
* spring IOC和AOP,以及各有什么优点
* 有哪几种常用的线程池
* 什么情况下使用Runnable和Thread创建线程,Runnable和Callable的区别
* 线程方法中的异常如何处理,副线程可以捕获到吗
* synchronized和锁的区别,什么情况下使用synchronized和ReentrantLock
* JVM的对象分配在哪个区,Class对象分配在哪个区
**二面:**
* 常用的设计模式介绍:单例模式、装饰者模式等
* Java会出现内存溢出吗?什么情况下会出现?
* 双亲委派模型,为什么这样做?
* 对象什么情况下进入老年代?
* 快速排序说一下过程
* AOP实现原理:动态代理
* BIO、NIO(如何实现的)、AIO
* 消息中间件有哪些?他们之间的优劣势?
* Redis,持久化框架
* 栈和队列
* 垃圾回收算法
* MySQL的索引
* Tomcat 类加载器
* OOM内存泄漏,什么情况下会出现,如何排查
**三面:**
* 介绍你实践的性能优化案例,以及你的优化思路
* 微服务和SOA的区别,优劣势
* SQL慢查询的优化方案,索引和表的优化方案。
* MySQL与MongoDB的区别,海量数据的存储
* 缓存框架,例如Redis、Memcached之间的区别,优劣势比较
* 请描述一致hash算法
* 分布式session的共享方案有哪些,有什么优劣势
* 高并发情况,系统的优化方案有哪些,以及优先级排序。
**面试总结**
阿里的面试特别喜欢面试技术原理,特别是:
* 多线程
* NIO
* 异步消息框架
* 分布式相关的缓存算法等
* JVM的加载过程和原理
* 回收算法
* 以及具体使用过的框架,会问部分参数检验你是否熟用
* 第一面被通过,后续被录用的可能性就会很大了,第一轮非常重要,建议系统的学习面试题
就面试而言,有时候能发挥出150%的实力,有时候却只能发挥出50%。
我对提前做面试题的看法:面试就如同学生时代的考试,有些人平时学习认真,裸考也能名列前茅;有些人平时懒一些,考前拼几周也能获得不错的成绩。
**【文章彩蛋】**
现在是跳槽招聘季,为了解决小伙伴们的燃眉之急
小编也准备了一些JAVA程序员面试题,小伙伴可以试试。
**需要的可以加小编QQ群937053620,获取!(内附答案详解)**
![](https://upload-images.jianshu.io/upload_images/11633898-df18d10e10f66edc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
有疑问加站长微信联系(非本文作者)