携程-java后端面经 | 已意向(还愿)
刚刚收到意向啦 ~ 还愿牛客 ~
希望大家都会offer多多 ~
1面
- 自我介绍
- 用户按下秒杀按钮,到服务端返回结果,详细说明这之间的过程(包括网络传输和系统代码)
- 用户秒杀,mysql中先秒杀,再记录?还是怎样的顺序?为什么?
- 比如2个请求同时访问redis,判断可以执行秒杀操作,但是mysql中对应货物只剩1,如何解决?
- 如果不是2个请求,而是10000个请求,该如何解决?
- 分布式的服务中,客户端和各个服务器的时间不一致怎么办?
- tcp三次握手和四次挥手
- 说一下BIO,线程在查询请求后处于什么样的状态?为什么?Linux怎样实现?
- Linux中进程和线程的区别
- 为什么线程效率更高?为什么线程所需空间更小?
- 单例模式的写法?
- 用静态内部类如何实现?
- synchronized和lock的区别
- 两个对象调用一个synchronized方法,可以同时执行吗?
- 什么是死锁?如何解决?
- CAS操作说一下
- 两个CAS操作同时读取到一个值,都做修改,会出现前一个修改被后一个修改覆盖掉的问题,如何解决?
- 抽象类和接口的区别
- hashmap的底层
- for增强循环和for普通循环的区别?谁好?为什么?
- mysql中,join有几种?区别?
- 如何查询A表仅有的和B表仅有的?
- mysql中,10000条数据,随机选取一条,如何操作?(没有主键id,所有字段都是字符串)
- 算法题:lc的70题,要求除了动归(o(n)复杂度),思考还有其他更低复杂度的方法嘛?
2面
- 自我介绍
- 面试官了解一些算法,问我的科研项目
- 对java并发的了解
- 对jvm的了解
- 对数据库的了解
- 闲聊
hr面
抱歉,忘了问啥,常规问题,就记得hr小姐姐很nice ~ ~ ~
许愿意向书 ~ ~ ~
#携程2022提前批##面经##Java##秋招#