百度提前批一面凉经
不多说了,场景题杀我,已经在求捞了。
一面 8.10 17:00-16:20
1.自我介绍2.项目介绍
3.介绍一下SpringMVC,Spring Cloud,Spring Boot概念
4.介绍一下单点登录
5.gateway的优势,gateway可以做什么
6.场景题:有一个对账服务,但是我们有多个微服务实例,如何保证只有一个实例在执行这段程序。(使用redis锁)
7.如果使用redis锁,随着业务的增长,对账时间需要增长,那么如何设置过期时间;
8.对于7的问题,我给出的方法是设置长一点的过期时间,面试官说可以使用多线程来分担任务,保证执行时间不变
9.对于8的问题,如何保证每个对账的线程负载是均衡的。(我提出的是使用订单号%线程号,然每个线程来对这个订单的帐)10.对于9的问题,考虑下面的场景,如果一些订单出现未支付或者回滚的情况,此时订单号不是连续的,那么采用8的切分方案肯定某些线程不是均衡的,此时如何保证均衡呢。(卒,下个问题)
11.开启多线程的方法
12.常用的线程池,FixedPool里面的队列的长度是多少,如果有一个场景使用的FixedPool,但是任务很多,此时会造成什么(OOM),那么线上如何排查OOM(线上肯定不能用工具来排查了,该如何排查)。
13.解释一些内存泄漏和内存溢出
14.说一下GMS回收过程
15.说一下拥塞控制的过程
16.说一下RPC的负载均衡
17.算法题:二叉树中两个节点的距离(先找公共父节点,再找层级)
#百度2021校招提前批##面经##校招##百度##Java工程师#