面试官都被搞懵了,阿里 P7 亲自讲解
拼多多二面:多线程+乐观锁和悲观锁+并发、
一面
1、并发编程三要素?
2、实现可见性的方法有哪些?
3、多线程的价值?
4、创建线程的有哪些方式?
5、创建线程的三种方式的对比?
6、什么是线程池?有哪几种创建方式?
7、线程池的优点?
8、CyclicBarrier 和 CountDownLatch 的区别
二面
1、介绍你的项目?
2、什么是乐观锁和悲观锁
3、sleep 方法和 wait 方法有什么区别?
4、多线程同步有哪几种方法?
5、Linux 环境下如何查找哪个线程使用 CPU 最长
6、Java 死锁以及如何避免?
7、如果你提交任务时,线程池队列已满,这时会发生什么
8、死锁的原因
携程三面:JVM+类加载+垃圾回收
一面
1. 描述一下 JVM 加载 Class 文件的原理机制?(在面试 java 工程师的时候,这道题经常被问到,故需特别注意。)
2. 什么是类加载器?
3. 类加载器有哪些?
4. 什么是 tomcat 类加载机制?
5. Java 内存分配?
6、await 关键字
7、线程池
8、spring ioc, aop 以及其优点
9、栈和堆的定义
二面
1、链表的定义
2、怎么实现链表翻转
3、怎么判断链表是否有环
4、二叉平衡树,怎么用一-维数组存储
5、讲讲 jvm 分区
6、讲讲 jvm gc
7、怎么求数组的最大子序列和
8、final 关键字 4 种用法
9、sleep 用法
三面
1.Java 中会存在内存泄漏吗,简述一下?
2.Java 类加载过程?
3. 什么是 GC? 为什么要有 GC?
4. 简述一下 Java 垃圾回收机制?
5. 垃圾回收的优点和原理,并考虑 2 种回收机制? 基本原理是什么?
6. 什么是分布式垃圾回收(DGC)?它是如何工作 的?
7. 深拷贝和浅拷贝?
8.你还有什么要问的?
蚂蚁金服三面:
一面
1. 二叉搜索树和平衡二叉树有什么关系,强平衡二叉树(AVL 树)和弱平衡二叉树 (红黑树)有什么区别
2. B 树和 B+树的区别,为什么 MySQL 要使用 B+树
3. HashMap 如何解决 Hash 冲突
4. epoll 和 poll 的区别,及其应用场景
5. 简述线程池原理,FixedThreadPool 用的阻塞队列是什么?
6. sychronized 和 ReentrantLock 的区别
7. sychronized 的自旋锁、偏向锁、轻量级锁、重量级锁,分别介绍和联系
8. HTTP 有哪些问题,加密算法有哪些,针对不同加密方式可能产生的问题,及其 HTTPS 是如何保证安全传输的
二面
1. 设计模式有哪些大类,及熟悉其中哪些设计模式
2. volatile 关键字,它是如何保证可见性,有序性
3. Java 的内存结构,堆分为哪几部分,默认年龄多大进入老年代
4. ConcurrentHashMap 如何保证线程安全,jdk1.8 有什么变化
5. 为什么 ConcurrentHashMap 底层为什么要红黑树
6. 如何做的 MySQL 优化
7. 讲一下 oom 以及遇到这种情况怎么处理的,是否使用过日志分析工具
三面
1. 项目介绍
2. 你们怎么保证 Redis 缓存和数据库的数据一致性?
3. Redis 缓存雪崩?击穿?穿透?
4. 你熟悉哪些消息中间件,有做过性能比较?
5.你还有什么要问的?
以上的面试题就是几个大厂的面试时的经历,把这些高频面试题总结分享给大家,(Java、并发编程、JVM、MySQL、Redis、Spring、Dubbo、zookeeper)等按知识划分的面试题,进行了整理,在这里分享大家!
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
下面的面试题答案都整理成文档笔记。也还整理了一些面试资料 &最新 2021 收集的一些大厂的面试真题(都整理成文档,小部分截图)
最新整理电子书
评论