… 1
大厂面试的基本流程 17 字节跳动 17 阿里 17 腾讯 18 网易游戏 18 面试前需要准备: 18 19
- 通过简历获得更多的面试机会 19
- 自我介绍时,技术栈和亮点 20立即全面抛出
- 首先介绍项目背景,消除面试官的问题 21
- 说到项目管理工具,你不仅可以写代码 22
- 用 SPRING BOOT 项目示例显示了您的技术基本面 23
- 用实例说明你在内存调优方面的经验 24
- 显示您在数据库调优方面的经验 25
- 总结前面的说辞 26
- 准备项目演讲时,可以准备后续面试官的问题 27 JAVA 高级训练营 28 2021 【美团】面试真题 1、SPRING AOP 底层原理 32 2、HASHMAP 底层数据结构是什么? 3、HASHMAP 扩容机制是什么? 4、CONCURRENTHASHMAP 的存储结构是什么? 5.如何设置线程池大小? 6、IO 密集=NCPU*2 是怎么计算出来的? 7、G1 收集器的特点是什么? 8.你有什么方法来检查 OOM 问题? 35 9、请你谈谈MYSQL 事务隔离等级,MYSQL 默认隔离级别是什么? 10可重复读解决了哪些问题? 11、对 SQL 慢查询会考虑哪些优化? 12.谈谈缓存穿透、缓存击穿和缓存雪崩以及解决方案? 13、LRU 是什么?如何实现? 14.堆内存是什么?如何设置参数? 15、栈和队列,以使用场景为例? 16、MYSQL 为什么INNODB 是默认引擎吗? 17、MYSQL 为什么要使用索引底层结构B 树? 38 18、B 树叶节点链表是单向还是双向? 19、MVCC 是什么?它的底层原理是什么? 20、UNDO LOG 具体如何回滚事务 39 21如何查询慢 SQL 产生 39 22.索引失效是什么? 23、一个 REDIS 实例最多能存放多少?KEYS?LIST、SET、SORTED SET 他们最多能储存多少元素? 24、REDIS 40 25.为什么数据量小的时候用压缩列表 40 26、REDIS 主同步是如何实现的? 27、REDIS 持久化RDB 和AOF 优缺点 41 28.谈谈你自己的 SPRING AOP了解 42 29、 SPRING BEAN 容器的生命周期是什么? 30、RABBITMQ 如何保证消息不丢失? 2021 【阿里】面试真题 1、TCP 和UDP 区别? 43 2、TCP/IP 协议涉及哪些架构? 3、描述下TCP 连接 4 挥手的过程?为什么要 4 挥手? 4.电脑插上电源操作系统做了什么? 5、LINUX 操作系统设备文件有哪些? 44 6.多线程同步有哪些方法? 7.两种添加一个对象的方法SYNCHRONIZED,进入一个线程SLEEP,另一个线程能进入另一种方法吗? 8.什么是可重入锁?(REENTRANTLOCK)? 44 9创建线程的三种方法是什么? 10、JAVA 如何获得多线程返回值? 11、线程池有哪些创建方法? 12.线程池的参数是什么? 13、线程池拒绝策略有哪些? 14.您认为线程池的核心参数是自定义和可配置的吗? 15、THREADPOOLEXECUTOR 线程池,COREPOOLSIZE=5,MAXIMUMPOOLSIZE=10,QUEUECAPACITY=10.线程池将执行 20个耗时任务。线程池将如何执行 20 任务? 16.给用户发信息的任务超过了队列。你用哪种拒绝策略?还有别的办法吗 17、JAVA8 对新特性有什么了解? 18.何时使用多线程,为什么要设计多线程? 19.多线程越高效吗? 20多线程会产生哪些并发问题 48 21、MYBATIS 如何将对象转换成SQL? 48 22.虚拟内存是什么,虚拟内存的原理是什么? 23.栈会溢出吗?什么时候溢出?方法区会溢出吗? 24、JVM 如何加载? 25,自己写 STRING 可以加载吗?STRING 什么时候加载? 26、描述 THREADLOCAL底层实现原理及常用场景(线程本地变量) 50 27.什么是微服务架构? 28微服务有哪些特点? 29、LAMBDA 表达式是什么?优缺点? 30,说说 LAMBDA 表达式作用域(LAMBDA SCOPES)。52 31、MYSQL 事务的特点是什么?分别是什么意思? 2021 【京东】面试真题: 52 1.垃圾回收机制将处理哪些情况下的对象? 2.谈谈常见的编码方法 3、UTF-8 编码中的中文占几个字节;INT 几个字节? 4.静态代理和动态代理有什么区别? 5、简述下JAVA 异常系统 6.谈谈你对分析和分配的理解。 7.修改对象A 的EQUALS 方法签名,然后使用HASHMAP 存储这个对象的实例时会使用哪个?EQUALS 方法? …54 8、JAVA 实现多态的机制是什么? 9,如何将一个JAVA 对象序列化到文件里? 55 说说你对 JAVA理解 反射 说说你对 JAVA理解 注解 12.说说泛型原理,举例说明。 13.谈谈你对 JAVA 中STRING 的了解。57 14、STRING 为什么要设计成不可变的? 15、REDIS 几种常见的数据结构?各自的使用场景? 16.谈谈缓存穿透、缓存击穿和缓存雪崩,以及各自的解决方案? 17、讲下 KAFKA、RABBITMQ、ROCKETMQ 有什么区别? 18、KAFKA 说说架构? 19、KAFKA 如何保证消息有序? 20、KAFKA 如何保证消息不丢失? 21、KAFKA 如何解决重复消费? 22,介绍 MYSQL 集群索引和非集群索引的区别(INNODB 与MYISAM 引擎)? 62 23,然后给出联合索引(A,B)和一个句子,SELECT * FROM TABLE WHERE B = ‘XXX判断是否能命中索引?为什么? …62 24、JAVA 实现多线程的方法有哪些? 25、用过 CONCURRENTHASHMAP,谈谈他和 HASHTABLE 有什么区别? 26、JAVA 如何实现线程安全? 27、描述 THREADLOCAL底层实现原理及常用场景(线程本地变量)。 28,介绍 SPRING BEAN 有哪些作用域? 29、注解 @AUTOWIRED 和@RESOURCE 有什么区别? 30、RPC 实现基础? 31、CMS,G了解1 垃圾回收器中的三色标记吗? 2021 【腾讯】面试真题 1、KAFKA 是什么?主要应用场景有哪些? 2、KAFKA 为什么有TOPIC 还要用PATITION? 67 3、客户端和服务器之间最多能建立多少个连接? 67 4、HASHMAP 结构,线程不安全,例如 67 5、MYSQL 索引分类 67 了解线程& 过程有区别吗? 7、JAVA 过程中有多少种通信方式? 8、多台服务器同时对一个数据定时任务,怎么处理? 69 9.实现常见分布式锁的几种方法? 10、REDIS 分布式锁实现原理? 11、REDIS 数据类型及其使用场景? 12.信号量与信号的区别 70 13、SELECT 和EPOLL 70底层结构的原理是什么? 14.场景题:1 1亿个数据取出前 100 有哪些方法? 15、KAFKA 如何确保消息可靠? 16.新闻队列的使用场景 72 17.对乐观锁和悲观锁的理解以及如何实现它们的方法是什么? 18、ARRAYLIST 和LINKEDLIST 有什么区别? 19,谈谈你对 SQL 对注入攻击的理解? 20.数据库事务的特点? 21、REDIS 如何优化内存? 22.缓存穿透,缓存击穿,缓存雪崩是怎么回事?解决方案 23.数组和链表的区别?当数组内存过大时会出现什么问题?链表增删过多会出现什么问题? 24.常见的排序算法和分别的复杂性? 25、JDK 1.8 的JVM 内存划分模型,堆和堆的区别 76 26.简单描述 MYSQL 中、索引、主键、唯一索引、联合索引的区别对数据库的性能有什么影响(从读写两个方面)? 27、I/O 有哪些模型? 777 28.当你用浏览器打开链接时,电脑做了什么工作步骤? 29、虚拟 DOM 的优缺点是什么? 30,什么是幻读,什么隔离级别可以防止幻读? 2021 百度面试真题 1、SPINGBOOT 还有定期任务?注释是什么? 2.请描述线程的生命周期。如何切换它们? 3.在什么情况下线程会进入?WAITING 状态? 79 4、简述多进程开发中JOIN 和DEAMON 的区别? 79 5、异步和同步、阻塞和非阻塞之间的区别? 79 6、为什么要分内核态和用户态? 80 7、说下类加载器与类加载?加载的类信息放在哪个区域? 80 8、UDP 协议和TCP 协议的区别? 80 9、LIMIT 1000000 加载很慢的话,你是怎么解决的呢? 81 10、MYSQL 的索引分类是什么? 81 11、什么是散列表? SELECT * 和 SELECT 1? 82 12、MYSQL 的主从复制了解吗? 82 13、SPRING 框架事务注解用什么注解?使用该注解的失效场景? 82 14、FINAL、FINALLY、FINALLIZE?FINALLY 是在RETURN 之前执行还是之后?FINALLY 块里的代码一定会执行吗? 82 15、I/O 多路复用实现方式有哪些? 83 16、SELECT、POLL、EPOLL 区别有哪些? 83 17、哈希算法解决哈希冲突方式有哪些? 83 18、如何保证 REDIS 中的数据不丢失? 83 19、如何保证 REDIS 中的数据都是热点数据? 84 20、REDIS 持久化机制是如何做的? 84 21、REDIS 为什么在使用RDB 进行快照时会通过子进程的方式进行实现? 85 22、介绍下 MYSQL 的主从复制原理?产生主从延迟的原因? 86 23、父进程如果宕掉,子进程会怎样? 86 24、孤儿进程和僵尸进程有什么区别? 86 25、MYSQL 中有哪几种锁? 86 26、互斥锁(MUTEX)和自旋锁(SPINLOCK)分别在什么场景使用? 87 27、描述 SYNCHRONIZED、REENTRANTLOCK 的区别? 87 28、HASHMAP 扩容操作是怎么实现的? 87 29、CONCURRENTHASHMAP 1.7 与 1.8 区别? 87 30、如何使用 JAVA 的反射? 87 2021 【华为】面试真题: 88 1、JAVA 常用集合及特点? 88 2、开启一个线程的方法? 89 3、JAVA 面向对象包括哪些特性,怎么理解的? 89 4、JAVA 如何保证线程安全? 90 5、介绍SPRING MVC 的工作流程? 90 6、SPRING 框架中用到了哪些设计模式? 90 7、REDIS 的特点是什么? 91 8、为什么使用REDIS,有什么好处? 91 9、REDIS 雪崩和击穿了解吗? 91 10、什么是面向对象,谈谈你的理解? 92 11、访问数据库除了 JDBC 还有什么? 92 12、你知道有哪些设计原则? 92 13、在生产环境 LINUX 服务器上,发现某台运行 JAVA 服务的服务器的 CPU100,不借助任何可视化工具,怎么进行问题的定位? 92 14、JDK 里面带的工具你知道哪些? 93 15、基本数据类型 BIT 长度? 93 16、CHAR 能不能存中文? 93 17、谈谈你对泛型的理解? 93 18、JAVA 程序是怎样运行的? 94 19、GC ROOT 有哪些? 94 20、栈帧的大小什么时候确定? 94 21、静态 FILED 声明和构造器哪个先执行? 95 22、线程创建方式是什么? 95 23、传统 I/O 跟NIO 的区别? 95 24、消息队列的在各种场景下如何选型? 95 25、JAVA 的安全性体现在哪里? 97 26、STATIC 方法怎么访问非STATIC 变量? 97 27、讲下你理解的 JAVA 多继承? 98 28、JAVA 基本类型有哪些? 98 29、线程池如果满了会怎么样? 98 30、什么是双亲委派机制,它有什么作用? 98 JAVA I/O 99 1、I/O 流的分类 99 2、字节流如何转为字符流? 99 3、字节流和字符流,你更喜欢使用哪一个? 99 4、SYSTEM.OUT.PRINTLN 是什么? 100 5、什么是FILTER 流? 100 5、有哪些可用的FILTER 流? 100 6、有哪些FILTER 流的子类? 100 7、NIO 和I/O 的主要区别 100 8、BIO、NIO、AIO 有什么区别? 101 9、NIO 有哪些核心组件? 102 10、SELECT、POLL 和EPOLL 什么区别 102 11、什么是 JAVA 序列化,如何实现JAVA 序列化? 103 12、如何实现对象克隆? 103 13、什么是缓冲区?有什么作用? 103 14、什么是阻塞 IO?什么是非阻塞 IO? 103 15、请说一下 PRINTSTREAM BUFFEREDWRITER PRINTWRITER 有什么不同? 104 KAFKA 104 1、KAFKA 是什么?主要应用场景有哪些? 104 2、和其他消息队列相比,KAFKA 的优势在哪里? 105 3、什么是 PRODUCER、CONSUMER、BROKER、TOPIC、PARTITION? 105 4、KAFKA 的多副本机制了解吗? 105 5、KAFKA 的多分区(PARTITION)以及多副本(REPLICA)机制有什么好处呢? 106 6、ZOOKEEPER 在KAFKA 中的作用知道吗? 106 7、KAFKA 如何保证消息的消费顺序? 106 8、KAFKA 如何保证消息不丢失? 107 9、KAFKA 判断一个节点是否还活着有那两个条件? 108 10、PRODUCER 是否直接将数据发送到BROKER 的LEADER(主节点)? 108 11、KAFA CONSUMER 是否可以消费指定分区消息吗? 108 12、KAFKA 高效文件存储设计特点是什么? 108 13、PARTITION 的数据如何保存到硬盘? 108 14、KAFAKA 生产数据时数据的分组策略是怎样的? 109 15、CONSUMER 是推还是拉? 109 16、KAFKA 维护消费状态跟踪的方法有什么? 109 MYSQL 109 1、据库三大范式是什么 109 2、MYSQL 有关权限的表都有哪几个? 109 3、MYSQL 的BINLOG 有有几种录入格式?分别有什么区别? 110 4、MYSQL 存储引擎MYISAM 与INNODB 区别 110 5、MYISAM 索引与INNODB 索引的区别? 110 6、什么是索引? 111 7、索引有哪些优缺点? 111 索引的优点 111 索引的缺点 111 8、索引有哪几种类型? 111 9、MYSQL 中有哪几种锁? 112 10、MYSQL 中INNODB 支持的四种事务隔离级别名称,以及逐级之间的区别? 112 11、CHAR 和VARCHAR 的区别? 112 12、主键和候选键有什么区别? 112 13、如何在 UNIX 和MYSQL 时间戳之间进行转换? 112 14、MYISAM 表类型将在哪里存储,并且还提供其存储格式? 113 15、MYSQL 里记录货币用什么字段类型好 113 16、创建索引时需要注意什么? 113 17、使用索引查询一定能提高查询的性能吗?为什么 113 18、百万级别或以上的数据如何删除 114 19、什么是最左前缀原则?什么是最左匹配原则 114 20、什么是聚簇索引?何时使用聚簇索引与非聚簇索引 114 21、MYSQL 连接器 114 22、MYSQL 查询缓存 115 23、MYSQL 分析器 115 24、MYSQL 优化器 115 25、MYSQL 执行器 115 26、什么是临时表�