2019天猫面试题(含总结):线程池+并发编程+分布式设计+中间
2019-02-20 本文已影响5人
_年少无为
引言
过年之后相信有一部分的人,早已磨刀霍霍向大厂。势必要大展拳脚,必将在大厂内创出一片天地。但是,想必大家都知道:最近几年的最严重的互联网寒冬来临,各位兄弟都会说“江湖再见”。耳边总是充刺着流言蜚语,这个地方裁员了,这个地方缩减HC。弄得人心慌慌。年后将是一片血雨腥风,程序界的江湖将在这一天精彩斑斓。
但我们要知道,寒冬之中,什么是最珍贵,就让鄙人告诉你:人才。只要有过硬的技术和装备,在逆风直下的情况下,咱们也能迎难而上,打他个戳手不及。不是“李云龙”大哥说:“过狭路相逢勇者胜。”
小编准备了一套天猫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,获取!(内附答案详解)