当前位置:网站首页>社招两年半10个公司28轮面试面经(含字节、拼多多、美团、滴滴......)
社招两年半10个公司28轮面试面经(含字节、拼多多、美团、滴滴......)
2022-06-25 22:01:00 【InfoQ】
个人情况
- 学历:二本
- 工作年限:2 年半
- 面试结果:拿到了字节、拼多多、美团、滴滴、欧科云链....等公司的offer
面试准备
复习
- Java:《Java 并发编程的艺术》、《Java 并发编程实战》
- JVM:《深入理解 Java 虚拟机》第三版、《深入 Java 虚拟机:JVM G1GC 的算法与实现》、《新一代垃圾回收器 ZGC 设计与实现》、美团技术团队相关 JVM 的文章、R 大相关 JVM 文章
- MySQL:《MySQL 技术内幕:InnoDB 存储引擎》、《高性能 MySQL》、《MySQL 实战 45 讲》、《从根儿上理解 MySQL》、《从零开始带你成为 MySQL 实战优化高手》
- Redis:《Redis 设计与实现》、《Redis 开发与运维》、水滴与银弹Redis 系列文章
- Kafka:半兽人博客、《Apache Kafka 实战》
- Zookeeper:《从 Paxos 到 Zookeeper:分布式一致性原理与实践》
- 架构:《凤凰架构》、《领域驱动设计:软件核心复杂性应对之道》


算法

简历

面试过程
自我介绍
技术讨论
1. 不卑不亢
2. 真诚以待
3. 深入发散
- 深入:你可以继续深入,聊一下 sendfile+DMA Scatter/Gather。
- 发散:深入后再发散,聊一下为什么 RocketMQ 写日志用到了零拷贝,但是 Kafka 写日志的时候不用零拷贝。
编程环节
反问环节
- 我面试的这个岗位需要用到哪些技术栈?
- 我面试的这个岗位的最大挑战是什么
面经
顺丰
- HashMap,扩容过程,怎么解决哈希冲突?
- 聊了一篇之前写过的 MySQL 的一篇博客,讲讲 MySQL 慢 SQL 优化思路?解决流程,应该从哪些方面考虑?
- APM,怎么监控,原理是什么?Java Agent 了解过吗?
- G1,最大的特点,标记位图,卡表卡页,SATB。
- 介绍 TiDB,什么是分布式数据库?和 MySQL 比优缺点是什么?
- 怎么做数据冷热分离?怎么做分库分表?为什么要用 ES?
- 分布式事务几种实现方式,讲讲本地消息表、尽最大努力通知、TCC。你们选用的是什么?AT 有什么问题?
- 报表 DSL 优化,享元模式优化过程,优化效果怎么样?
- 单机和微服务的区别,微服务有什么问题?数据一致性问题怎么解决?幂等问题怎么解决?
- 现在负责的系统分为几个模块?如何划分?怎么治理?
- MQ 使用场景有哪些?在项目中具体哪些地方用到了?
- MQ 消息发送不在 MySQL 事务中如何保证一致性?
- Kafka 四个选举,Controller 选举、Partition leader 选举、GroupCoordinator 选举、消费组协调器选举。整体设计问题,使用场景,流量规划怎么做的?
- 缓存使用的具体场景,一致性问题,缓存使用常见问题有哪些?
- 熔断和降级的区别,具体使用场景有哪些?
- QPS 和 TPS 的区别是什么?你们系统的最大 QPS 是多少?QPS 大了会有什么问题,怎么解决?
- 如何设计一个 RPC 框架?需要考虑哪些点?
- 有没有关注新技术?log4j2 问题关注没有?能简单介绍一下吗?
拼多多
- 介绍自己做过的最满意的一个项目
- 介绍 TiDB、RocksDb、levelDB、LSM 树、SSTable。
- XXL-Job 二次分片怎么做的?有些什么问题?怎么去优化的?
- HashMap 的位操作,HashSet 的 contains 方法复杂度是多少,红黑树简单讲一下?
- byte[] a = new byte[10 * 1024]内存分配过程?多大的对象直接进入老年代?通过什么参数配置?
- 介绍 TLAB,PLAB,CAS 分配。
- 为什么要指针压缩,为什么能指针压缩?原理是什么?
- 类加载过程?类隔离了解过吗?
- 多态和重载的底层实现原理,字节码层面的了解过吗?
- Springboot 自动装配,SPI 原理讲一下?
- 拦截器和过滤器的区别?使用场景?
- Spring 事务实现原理,Spring 的 ACID 如何实现的?如果让你用 JDBC 实现事务怎么实现?
- MySQL 的锁,表级锁是哪一层的锁?行锁是哪一层的锁?
- MySQL 索引?B+树?主键索引每一个节点的大小?一个 page 多大?如果一条数据大于 16KB 怎么存?text 最多存多少数据?行溢出问题?数据存储格式有哪些?溢出页如何管理?
- Redis ssd,Redis 内存空间优化的点,embstr 和 row、intset、ziplist。
- Kafka 的服务端的物理存储架构是什么?零拷贝,mmap,sendfile、DMA gather。
- 你做的方案怎么让别人信服?要考虑哪些点?你是怎么做的?有哪些你觉得可以改进的地方?
- 如果系统流量突然上升 10 倍,怎么处理?100 倍呢?
- 白板编程:单例模式,为什么要加 volatile
- 白板编程:用栈实现一个线程安全、高效的队列
- 白板编程:二叉树两个节点的距离
美团
- 多少个服务,多少台机器?K8S,怎么做到隔离?
- 服务之间的数据一致性怎么做?业务上怎么保证?
- TCC?二阶段提交,三阶段提交?
- Synchronized,偏向锁聊了很久聊到了源码,升级过程,Synchronized 的 JVM 源码?(面试官对 JVM 很感兴趣)
- 安全点,安全点的作用?一些 JVM 源码(之前的文章写过,面试官和感兴趣)
- 垃圾回收算法;PS+PO,CMS 为什么要用标记清除算法?CMS 的前身,R 大的文章。
- ZGC,聊到了彭寒成的《新一代垃圾回收器 ZGC 设计与实现》和美团技术团队的文章。
- G1,聊到了中村成洋的《深入 Java 虚拟机:JVM G1GC 的算法与实现》。
- 写屏障和读屏障的区别是什么?
- JMV 优化过程,效果。为什么要升级垃圾收集器?
- 介绍一下 Spring IOC,注解和 XML 两种方式有什么区别?后置处理器,扩展点有什么用?在项目中有用到过吗?
- MySQL 的 binlog、redo log、undo log 写入过程?刷盘机制和参数设置。MVCC 机制了解吗?
- 遇到的死锁问题?唯一键冲突导致的死锁问题,MySQL 为什么要这么设计?隐式锁是什么了解吗?
- 还了解 MySQL 的哪些锁?间隙锁、临检锁.....
- ZK 的选举过程是怎么样的?如果选举过程中网络故障怎么办?ZAB 和 RAFT 的最大区别是什么?
- Redis 用的 Gossip 协议有哪些具体消息?谣言传播,为什么要去中心化?有哪些优缺点?
- Redis 分布式锁和 ZK 分布式锁的比较。AP 和 CP,CAP 理论讲一下?
- Kafka 的优势是什么?RocketMQ 延迟队列怎么做的?如果让你优化你会怎么做?Kafka 能实现延迟队列吗?
- Kafka 能保证数据一条都不丢失吗?为什么?业务上丢数据了怎么办?
- 白板编程:顺时针打印矩阵
字节
58 集团
- MySQL 迁移到 TiDB 做了哪些工作,自增主键,数据量多大?
- TiDB 的性能问题,做了哪些调研?TP90、TP95 是多少。
- TiDB 上线步骤是怎么样?怎么做到数据不丢失?怎么保证可靠性?
- XXL-Job 怎么封装的?任务跑失败了怎么办?
- DAG 是如何实现的?二次分片怎么做的?
- Redis 使用场景、缓存什么数据?怎么保证数据一致性?
- 还了解 Redis 哪些知识、Redis 的优势、CP 还是 AP?CAP 理论。
- Redis 存储数据需要注意哪些问题?热 key 问题、大 key 问题怎么处理?
- Redis 分布式锁、红锁。红锁有什么问题?
- 介绍 SpringBean 创建过程、AOP 实现原理?
- BeanFactory 和 FactoryBean 的区别?
- Spring 是怎么解决循环依赖的?Spring 解决构造方法注入的循环依赖了吗?解决多例下的循环依赖了吗?
- 动态代理,JDK 动态代理和 CGlib 动态代理的区别?Spring 是如何选用的?怎么配置?
- 如何做降级的?如何做限流?
- 负载均衡算法有哪些?自适应负载均衡怎么做的?有什么问题?怎么优化的?
- Java 的集合都有哪些,都有什么特点?
- HashMap、ConcurrentHashMap 的区别?扩容过程是怎么样的?
- 介绍 AQS、CountDownLatch、Semaphore、volatile、synchronized
- 线程池、自定义线程池、自定义拒绝策略有了解过吗?什么场景用?
滴滴
- 进程和线程的区别是什么?进程之间怎么通信的?线程之间呢?
- HTTPS 和 HTTP 对比;CA 数字证书;对称加密非对称加密过程?
- 常见的加密算法有哪些?
- MySQL 测试,TiDB 测试,如何做到平滑迁移?如何保证数据不丢失?
- 任务调用中心怎么做的?负载均衡?怎么收集执行器的 CPU 和内存使用情况?任务分片是怎么做的?
- 任务幂等性改造?ZK 怎么部署的,几台机器,挂了一台怎么办?
- ZAB 协议,ZK 选举过程,ZXID 的结构是怎么样的?ZXID 有什么用?
- Redis 的 String 底层结构,hash 底层结构,rehash 过程是怎么样的?
- Redis 的 AOF 和 RDB 区别,能配合使用吗?热 key 问题和大 key 问题怎么解决?
- Kafka 的 log,index,稀疏索引。零拷贝,mmap,sendfile、DMA gather
- Kafka rebalance 策略,具体过程。GroupCoordinator 选举、消费组协调器选举过程?kafka 默认 topic 干什么用的?
- Spring 的循环依赖怎么解决的,为什么需要加个三级缓存,二级不行么?
- Springboot 有什么特点,了解 springboot 的自动装配原理么?
- 写了一道 LeetCode 原题,交换链表节点。
欧科云链
- QUIC/HTTP3 了解吗?
- 用笔画 MySQL 一条记录的入库过程,写日志过程,日志两阶段提交?
- JVM 调优过程?怎么发现 JVM 的问题的?怎么做预警处理?
- Minor GC 与 Full GC 的触发机制是什么?
- Eden 和 Survivor 比例可以调整么,参数是什么?还用到了哪些参数?
- 介绍 TiDB 和 MySQL 的迁移过程?遇到了些什么问题?怎么解决的?
- 了解 RocksDb 吗?levelDB、LSM 树、SSTable?
- Paxos 算法了解吗?介绍 RAFT 和 ZAB,以及它们之间的区别?会有脑裂问题吗?为什么?
- Kafka 消息的写入过程简单介绍一下,Kafka 为什么这么快?
- Kafka 几种选举过程简单介绍一下?
- Kafka 高水位了解过吗?为什么 Kafka 需要 Leader Epoch?
- Netty 用到过吗?讲讲 reactor。Netty 的空轮询 bug 有了解吗?
- 讲讲 BIO、NIO、AIO 的区别?
- Dubbo 的服务发现是怎么做的?
- Redis 的几种数据结构,底层分别是怎么做的?用 Redis 缓存什么数据?怎么更新数据?怎么淘汰数据?
- 缓存和数据库一致性问题怎么解决?为什么要删缓存而不是更新缓存?删缓存删失败了怎么办?
- 有一个包含 100 亿个 URL 的大文件,假设每个 URL 占用 64B,请找出其中所有重复的 URL。
- 给了一张纸,上面有一段并发的代码,问执行结果是什么,考的是 volatile。
京东
- 介绍一下你做的项目?
结果
边栏推荐
猜你喜欢

What aspects should we start with in the feasibility analysis of dry goods?

C language (I)

ACM. Hj16 shopping list ●●

STM32 development board + smart cloud aiot+ home monitoring and control system

What is Unified Extensible Firmware Interface (UEFI)?

LM小型可编程控制器软件(基于CoDeSys)笔记十七:pto脉冲功能块

建立自己的网站(15)

Ble Low Power Bluetooth networking process and Bluetooth role introduction

#23class介绍

做接口测试,这3种工具到底什么时候用?
随机推荐
Leaky API interface practical development series (13): gooseneck cloud service php-api two-dimensional array parameter transfer solution
[Axi] interpretation of Axi protocol atomic access
[untitled] open an item connection. If it cannot be displayed normally, Ping the IP address
The first public available pytorch version alphafold2 is reproduced, and Columbia University is open source openfold, with more than 1000 stars
The software test interview has been suspended. The interviewer always says that the logical thinking is chaotic. What should I do?
Rk3568+ Hongmeng industrial control board industrial gateway video gateway solution
#24class静态成员
干货丨产品的可行性分析要从哪几个方面入手?
konva系列教程2:绘制图形
【opencv450-samples】inpaint 使用区域邻域恢复图像中的选定区域
cookie、session、token
【opencv450-samples】读取图像路径列表并保持比例显示
做接口测试,这3种工具到底什么时候用?
【2023校招刷题】番外篇1:度量科技FPGA岗(大致解析版)
How to download the software package of CDH version
Multithreaded learning 1
统计字符串中不同回文子序列的个数
ACM. HJ16 购物单 ●●
Fegin client entry test
[opencv450 samples] inpaint restores the selected region in the image using the region neighborhood