2021 社招阿里、腾讯、蚂蚁金服「4 面」Java 面试高频题分享
三面
1、自我介绍
2、MySQL 的锁并发?
3、高并发场景下如何防止死锁,保证数据的一致性?
4、集群和负载均衡的算法与实现?
5、简述分库与分表设计?
6、分库分表带来的分布式困境与对应之策有哪些?
7、加锁的机制是什么?
8、Redis 和 Setnx 命令使如何实现分布式锁的?使用 Redis 怎么进行异步队列?会有什么缺点?
腾讯 Java 岗位(技术四面)
==============
一面
1、说说对 JVM 的理解?
2、treemap 和 HashMap 的区别?
3、多线程的五大状态?
4、MySQL 主键和索引的区别?
5、聊聊做的一些项目
6、如何实现 session 共享?用 Redis 该如何实现?
7、缓存击穿的概念和解决方案?
8、聊聊微服务,以及微服务之间是如何进行管理的
二面
1、Java 中 nio 和 io 的区别?常用的类有哪些?
2、Java 里面的同步锁了解吗? CountDownLaunch 和 Cylicbarrior 的区别,分别在什么场景下使用?
3、JVM 的内存结构,哪些是共享的,哪些是线程私有的? Java 虚拟机里堆栈分别存放什么?
4、如何实现一个线程池?
5、Java 的类加载在哪些情况下会触发?
6、手写代码:快速排序,单利模式, 画一个工厂模式和装饰者模式的 UML 类图
7、AOP 的实现原理
8、怎么优化慢查询?
9、Java 的锁有哪些?可重入锁和不可重入锁的区别?
10、Lock 和 Synchronized 的区别?他们都是可重入锁吗?哪个效率更高?
11、手写 SpringMVC DispatcherServlet 的大致实现?
三面
1、聊一聊平时的项目并发经验
2、Redis 的数据结构? 线程模型? Redis 的数据淘汰机制?
3、读过 Redis 的源码吗?
4、MySQL 实现事务的原理
5、MQ 底层原理的实现?
6、数据库事务 acid,事务操作,怎么加锁?分布式系统锁?
7、什么情况下会发生雪崩?如何解决?
四面
1、介绍一些并发项目
2、技术含量较高的项目,从架构设计到部署问了一遍
3、高并发架构的设计思路
蚂蚁金服 Java 岗位(技术三面)
================
一面
1、HashMap 和 ConcurrentHashMap
2、谈一谈 Hash 的一致算法
3、乐观锁和悲观锁
4、可重入锁和 Synchronized
5、事务的四大特性?
6、事务的二段提交机制?
7、聚簇索引和非聚簇索引
8、举例说一下索引的应用场景和注意事项?
9、当前读和快照读
10、聊一聊类加载的过程?
11、双亲委派机制及其使用原因?
12、聊一聊 GC 的算法?
13、Http 和 Https 的区别? 以及 Https 加密的方式
14、线程池的核心参数和基本原理?线程池的调优策略
15、谈谈个人的职业规划
二面
1、聊一聊个人做过的项目,遇到过哪些难点?
2、Collections.sort 底层的排序方式?
3、排序的稳定性,以及不同场景下的排序策略
4、Http 请求过程,DNS 解析的过程
5、三次握手和四次握手
6、简述线程池和并发工具有哪些、
7、数据库的索引和原理
8
、频繁老年代回收怎么分析和解决?
9、Spring IOC/AOP 相关知识
10、讲讲 SpringBoot 和 SpringCloud 的一些应用?
11、阻塞队列不用 Java 提供的该怎么实现?
12、负载均衡的原理?
13、Redis 的数据一致性问题,分布式多节点和单节点环境下分别描述
14、讲讲 Docker 容器
15、如何实现高并发环境下的削峰、限流?
三面
1、聊一聊项目中用到的中间件(Dubbo/MQ/Zookeeper/Redis/Kafka)
评论