11月入职天猫,面试总结分享:Java基础+算法+线程池+网络+分布式设计+中间件
程序员文章站
2021-11-23 10:49:25
以下是我整理的天猫JAVA程序员面试题,重点考察面试者的基础知识和思维逻辑一面:HashMap实现原理,ConcurrentHashMap实现原理红黑树,为什么允许局部不平衡TCP,UDP区别,为什么可靠和不可靠一次HTTP请求的全过程,包括域名解析、定位主机等TCP三次握手MySQL事务是什么?四大特性,四大隔离级别ConcurrentHashMap和Hashtable区别spring IOC和AOP,以及各有什么优点有哪几种常用的线程池什么情况下使用Runna...
以下是我整理的天猫JAVA程序员面试题,重点考察面试者的基础知识和思维逻辑
一面:
- 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的共享方案有哪些,有什么优劣势
- 高并发情况,系统的优化方案有哪些,以及优先级排序。
HR面
- 问项目,问的特别特别细,技术细节,还有遇到什么问题,怎么解决的,做项目有没有人带,怎么跟别人沟通的。
- 数据库优化,如果数据库一个表特别大怎么办 数据库优化我就讲了之前讲过很多遍的点,他问一个表特别大怎么办:大表分小表,怎么实现:使用分区表
面试总结
天猫的面试特别喜欢面试技术原理,特别是:
- 多线程
- NIO
- 异步消息框架
- 分布式相关的缓存算法等
- JVM的加载过程和原理
- 回收算法
- 以及具体使用过的框架,会问部分参数检验你是否熟用
第一面被通过,后续被录用的可能性就会很大了,第一轮非常重要,建议系统的学习面试题
就面试而言,有时候能发挥出150%的实力,有时候却只能发挥出50%。
我对提前做面试题的看法:面试就如同学生时代的考试,有些人平时学习认真,裸考也能名列前茅;有些人平时懒一些,考前拼几周也能获得不错的成绩。
在此我分享一下我总结的面试题及解析
有想获取面试题文档的朋友,见下:
本文地址:https://blog.csdn.net/cxytony/article/details/110498271