不少人吐槽技术不过关,面试总失利,其实只是没有形成系统、全面的知识体系,因此很难 Cover 住面试考核点。一朋友去蚂蚁面试,3年开发经验,明明技术还不错,但从理论到实战、基础到框架,都被面试官怼得哑口无言,一些问题甚至都没听过。
爬了各大网站,研究了近些年电商大厂面试,发现面试无非是从 Dubbo、JVM、ElasticSearch、多线程/高并发、消息中间件等着手。但由于内容多,技术栈复杂,网上资料优劣难辨,耗时耗力,想要靠自己彻底搞懂并不容易。
这里,给大家分享一份面试题福利,由某电商大厂首席架构师总结。涵盖不少大厂必考点、高频点和涨薪点,也是开发人日常项目中经常遇到的踩坑点,需要的同学可以文末扫码 免费 领取(2021最全面试题+详实答案)。
篇幅原因,这里先罗列出近三年部分技术重要考核点,大家可以感受下:
1 Dubbo
1.1 服务调用超时问题怎么解决?
1.2 Dubbo 支持哪些序列化方式?
1.3 Dubbo 和SpringCloud 的关系?
1.4 Dubbo 的架构设计?一共划分了哪些层?
1.5 Dubbo 的默认集群容错方案?
1.6 Dubbo 使用的是什么通信框架?
1.7 Dubbo 的主要应用场景?
1.8 Dubbo 服务注册与发现的流程?流程说明。
1.9 Dubbo 的集群容错方案有哪些?
1.10 Dubbo 的四大组件
1.11 Dubbo 在安全机制方面是如何解决的
1.12 Dubbo 和 SpringCloud 的区别?
1.13 Dubbo 支持哪些协议,每种协议应用场景,优缺点?
1.14 Dubbo 的核心功能有哪些?
1.15 Dubbo 的注册中心集群挂掉,发布者和订阅者之间还能通信么?
1.16 Dubbo 集群的负载均衡有哪些策略
1.17 为什么需要服务治理?
1.18 Dubbo 超时时间怎样设置?
2 ElasticSearch
2.1 你们公司的 ES 集群,一个 node 一般会分配几个分片?
2.2 Elasticsearch 是如何实现 Master 选举的?
2.3 你是如何做写入调优的?
2.4 如何避免脑裂?
2.5 19-Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?
2.6 ES主分片数量可以在后期更改吗?为什么?
2.7 如何监控集群状态?
2.8 ElasticSearch 中的副本是什么?
2.9 20.ES 更新数据的执行流程?
2.10 shard 里面是什么组成的?
2.11 ElasticSearch 中的分析器是什么?
2.12 什么是脑裂?
2.13 客户端在和集群连接时,如何选择特定节点执行请求?
2.14 Elasticsearch 中的倒排索引是什么?
2.15 什么是索引?索引(名词) 一个索引(index)
2.16 详细描述一下 Elasticsearch 更新和删除文档的过程
3 Jvm
3.1 JVM 参数主要有⼏种分类
3.2 3.Java 中会存在内存泄漏吗,简述一下。
3.3 Java 虚拟机是如何判定两个 Java 类是相同的?
3.4 Java 中都有哪些引用类型
3.5 在 Java 中,对象什么时候可以被垃圾回收?
3.6 19.StackOverflow 异常有没有遇到过?一般你猜测会在什么情况下被触发?
3.7 堆空间分哪些部分?以及如何设置各个部分?
3.8 什么是栈帧?栈帧存储了什么?
3.9 如何设置参数生成 GC 日志?
3.10 GC 是什么?为什么要有 GC?
3.11 使用过哪些 jdk 命令,并说明各个的作用是什么
3.12 JVM 运行时数据区区域分为哪⼏部分?
3.13 是否了解类加载器双亲委派模型机制和破坏双亲委派模型?
3.14 逃逸分析有几种类型?
3.15 -Xms 这些参数的含义是什么?
3.16你知道哪几种垃圾收集器,各自的优缺点,重点讲下 cms和G1,包括原理、流程、优缺点。
3.17 JVM 的内存结构,Eden 和 Survivor 比例是多少?
4 多线程/高并发
4.1 负载平衡的意义什么?
4.2 请说出同步线程及线程调度相关的方法?
4.3 关于 epoll 和 select 的区别,哪些说法 是正确的?(多选)
A. epoll 和 select 都是 I/O 多路复用的技术,都可以实现同时监听 多个I/O事件 的状态。
B. epoll 相比 select 效率更高,主要是基于其操作系统支持的 I/O 事件通知机制,而select是基于轮询机制。
C. epoll支持水平触发和边沿触发两种模式。
D. select能并行支持I/O比较小,且无法修改。
4.4 启动一个线程是调用run()方法还是start()方法?
4.5 如何确保N个线程可以访问N个资源同时又不导致死锁?
4.6 编写多线程程序的几种实现方式(换个问法:创建多线程的方式)?
4.7 线程和进程的区别?
4.8 什么是线程池,有哪些常用线程池?
4.9 什么是死锁?
4.10 怎么保证缓存和数据库数据的一致性?
5 消息中间件
5.1 消费者获取消息有几种模式?
5.2 17.RocketMQ 的特点有哪些?
5.3 kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理?
5.4 为何需要Kafka 集群
5.5 Kafka 数据存储设计
5.6 Kafka 如何判断一个节点是否存活?
5.7 kafka 消息发送的可靠性机制有几种
5.8 请详细说一下推送模式和拉取模式
5.9 Kafka 与传统消息系统之间有三个关键区别
5.10 RocketMQ 由哪些角色组成?
5.11 23.Kafka 的消费者如何消费数据
5.12 Kafka 的优点
5.13 Kafka 的设计是什么样的呢?
5.14 说说你对 Consumer 的了解?
5.15 Kafka 新建的分区会在哪个目录下创建
5.16 说一下 Kafka 消费者消费过程
5.17 介绍下 Kafka
5.18 什么情况会导致Kafka运行变慢?
下面是福利!
复制下方!免费领取2021最全大厂面试题+答案!
https://wx.kaikeba.com/vip_course/qtgv5ze1vo/u89khob5f9?tenant=wx5046bc7413796142