面经
【挂】百度 - 推荐工程
一面 7.22
- ConcurrentHashMap原理,怎么做并发控制
- 为什么用线程池,多个线程不好吗,线程太多有什么问题,只是oom吗?
- vector在栈还是堆,删除元素怎么搞,底层怎么实现
- map和unordered_map原理,底层实现
- CAS线程安全谁来保障的
- shared_ptr线程安全吗,什么情况下不安全(多线程赋值?),引用计数为什么要是原子的
- 进程线程区别
- 页表为什么要是多级的,浪费内存,多级页表就不会浪费内存吗
- 共享内存怎么实现
- RPC的原理,介绍
- 设计模式了解吗,使用过哪些
- TCP三次握手,为什么不可以是两次
- seq和ack的作用
- 浅拷贝和深拷贝
- lc160 链表公共结点
二面 7.26
- directIO知道吗,原理,有什么问题
- epoll原理,io多路复用是什么
- 异步io知道哪些
- 文件读写的过程
- page cache是什么,有什么问题
- raft原理
- clickhouse副本如何保证一致性
- 锁是怎么实现的,锁会一直自旋吗
- protobuf和json优缺点
- protobuf压缩原理
- protobuf反射原理
- atomic int如何实现原子的,为什么要有这个命令,mem order是啥
- cas原理
- 为什么要有virtual析构函数
- 线程池参数,一般选择多少线程
- rpc的原理知道吗,rpc框架,参数如何设置
- 单点故障时,rpc服务应该怎么做保证可用性
- redis为什么要有aof和rdb
- redis rehash过程
- redis有哪些数据结构
- redis切片了解吗
- 一致性哈希
- cpu占用率高怎么看,怎么解决
滴滴 - Java后端金融
一面 7.26
- 线程池有哪些类型,为什么用线程池
- 接口的延迟
- 用的什么定时任务框架
- 为什么用ConcurrentHashMap不用redis
- ConcurrentHashMap oom有什么解决方法
- JWT鉴权
- 怎么实现延迟任务的,订单取消
- 用的什么RPC框架
- 外卖项目框架
- 优惠券怎么实现的
- SpringBoot注解用过哪些
- SpringBoot自动装配原理
- spring-starter的原理
- ConcurrentHashMap 1.8前后的设计
- MyBatis二级缓存
- IOC原理
- ReentrantLock的unpark
- mysql表设计的注意事项
- 通过反射创建对象的方式
- explain能看到哪些字段
- 手撕:二分查找
二面 7.29
- 如果端上12:00-12:10发生网络故障,数据会丢吗,如何处理
- RPC用什么序列化?
- 手撕:八皇后
三面 7.29
- clickhouse为什么适合olap,有什么好处
- 手撕:版本号相加,例如0.0.1 + 1.1.1
【挂】科大讯飞 - 教育BG
一面 8.21
- 线程池coreSize > maximumSize会以哪个为准,这个人写错了
- jvm新生代和老年代比例,怎么设置
- Collection有哪些,List,Queue是接口吗,是的
- ck的物化视图参数,多久更新一次
- ck列存,为什么快
- redis存什么
- 项目遇到的最大问题
- 对象创建过程
【挂】腾讯 - 天美
一面 8.23
- 双重锁检测为什么要用volatile
- 怎么实现定时器
【挂】字节 - 抖音
一面 8.22
- 项目里为什么要用ConcurrentHashMap,到底是怎么更新的
- 订单如果是每分钟的定时任务的话,每分钟执行一次会不会出现有一个订单是超时了16分钟取消的,如何解决
- 双写一致性,如果在更新数据库后服务宕机了,缓存没更新怎么办
- 手撕:设计一个元角分转换工具类
二面 8.29
- tcp和udp区别
- 死锁怎么避免
- 堆排序介绍
- tcp三次握手四次挥手
- url到浏览器显示的过程 –>
- 智力题:抽五张牌,选择并依次展示其中四张,能否猜出第五张牌
- 手撕:leetcode 树的最近公共结点
拼多多
一面8.31
- 手撕:m个元素分成n组,每组至少为1,不要重复例如m=4,n=2,可以分为1,3和2,2
- 为什么用ConcurrentHashMap
- 实习的项目,如果几个服务实例之间缓存没同步怎么办
- 动态代理是什么,一般有哪些,怎么用
- 单测怎么用
- https加密介绍一下
- utf-8编码,utf-16编码知道吗(不会,pass)
【挂】腾讯云
一面 9.2
- lsm tree
阿里云
二面 9.2
- 怎么检测java程序死锁
- fork流程
- 知道namespace和cgroups吗
- java内存泄漏知道吗
- java gc
- map遍历方式
虾皮
9.7 一面
- 三次握手四次挥手
- 进程线程区别
- tcp拥塞控制
- tcp重传到上限后如何处理
- 快排的最坏情况
- jvm如果一次性申请32G的对象会怎么样
- 线程池优先级调度怎么搞
- jvm小对象大对象怎么分配
- 旁路缓存如何优化,如果写比较多,缓存一直在失效,如何解决
- ConcurrentHashMap原理
- tcp怎么保证有序
- protobuf怎么存,底层
- 怎么判断图有没有环
得物
9.7 一面
- String为什么是不可变的
- hash冲突怎么解决
- finally一定会执行吗
- redis的key没过期会被删除吗
- redis为什么快