首页 > 58后端一面二面 面经(复试通过)
头像
codekiang
编辑于 2021-09-29 22:50
+ 关注

58后端一面二面 面经(复试通过)

9月16日 11.30 一面(25分钟左右)

  1. 自我介绍
  2. 项目遇到的问题?
  3. 项目中token的作用?做用户认证。
  4. 如何做用户认证?
  5. 场景题:给全国58的面试者N个人打分,然后统计出前K个成绩最高的。(面试官说考察数据结构)
    :分数是否在0-100之间。(我心想可以用桶排序)
    面试官:对,然后还有小数。
    :小数有几位呢。(心想小数位数只有两位的话就扩大100倍再桶排序)
    面试官:8位吧。(这么多....)
    :如果是只有整数的话,我会考虑用桶排序,分数作为下标,值作为人数。如果是小数的话,就考虑使用堆排序(然后面试官让介绍一下怎么用堆排序做)。最后面试官问还有吗?我当时没想到其他的了,因为我自己心里一开始就认定N是很大很大的数了。。。现在想想既然是考察数据结构,那么肯定可以使用TreeMap
  6. 算法题:两个有序数组a和b,如何合并成一个有序数组?
    说了两种,一种是直接合并然后对合并后的数组进行排序。第二种是两个数组逐个元素比较,小的一方放到第三个数组然后下标后移。
    最后面试官让我手写第二种方式。
  7. final跟finally的区别?
  8. 用final修饰了一个List变量,可否对其进行add跟remove操作?
  9. 查询慢怎么解决?
  10. 最左匹配什么意思?
  11. 有组合索引(a,b,c),那么where a=,c=,b= 此时可以命中索引吗?那where b=,c=可以命中索引吗?
  12. 反问
  13. 问我手里有几个offer。。。0offer啊呜呜呜

9月17日 13.30 二面(30分钟)

  1. 选一个项目说一下自己承担的角色,以及当时遇到的问题。
  2. 选了个二手交易的项目,大三时候独立开发从数据库设计,前后端代码编写,部署到服务器的项目。总之巴拉巴拉说了一大堆。然后问题我说的是前后端交互时传递token,验证token的问题及注意事项。
  3. 支付模块单独聊一下。连线根据面试官的引导全称写伪代码,写sql。
    一、A向B转账。判断余额,然后写sql语句转账(同一事务中)。
    二、同一事务中了还需要加锁吗?我当时回答不需要。。。面试官引导了我,说如果两个事务对同一行数据进行修改的话。我就秒意识到了。然后我就在select上加了个for update。
    三、这是一个悲观锁实现,如果是乐观锁用什么方案?加个字段,然后查出来作为判断条件
    四、表中有个主键索引跟普通索引。然后给个sql,对索引的访问。(回表问题)
    五、第四个问题的基础上再加个字段,此时需不需要回表。(需要)
  4. 项目是不是微服务架构,用户登录如何验证?
  5. 一个人拿到了另一个人的token的话,可不可以获取到这个人的数据?
  6. 网络问题:连接数量是否有上限?全连接队列是否可以调大到10W?(答得不好,被问蒙了,计网基础真的差。。。)
  7. 网络问题:一个连接对应一个端口嘛,那一个端口可以建立多个连接吗?最多可以建立多少个连接?
  8. 手撕代码:两个有序链表合并成一个有序链表。(出现了一个错误。。。不过面试官说没关系,代码整体是正确的。)
  9. 反问。
    (本来以为我要凉了,后面网络题跟手撕代码表现的不好,而且一晚上面试状态也没有改变。结果今天早上就看到复试通过了,许愿offer啊呜呜呜

9月26日 晚上6点hr面(25min)

具体的内容忘记了,不过也比较常规,有问我是否能提前实习以及期望薪资。


许愿OC啊

更多模拟面试

全部评论

(5) 回帖
加载中...
话题 回帖