快手面经,一天就面完了....
一面:
先是自我介绍和项目,问的不多。
然后开始写题
第一题实现一个Long类的valueOf(String)方法
第二题求树高,问递归还是非递归,让我非递归实现
第三题线程题,循环打印abc,就讲了思路,说用三个信号量
说我代码里用到了StringBuilder,讲讲原理,和StringBuffer区别
刚刚讲到了信号量,底层实现的原理是什么?
讲讲JVM运行时数据区,判断存货对象用的什么方法,讲讲GC roots
MySQL的主键索引和普通索引有什么区别,读数据的时候有什么区别(答了回表和覆盖索引)
为什么用B+树,叶子节点用的什么指针(我居然说单指针...)
然后给了一个场景题,设计一个长URL转短URL的服务,一开始没明白,还以为要设计网关?后来在面试官的引导下答了用302重定向,然后问了问302和301的区别,短链接都可以用什么算法(我说加Salt用MD5或者SHA-1...面试官不置可否)
然后说让我先别走...年轻的我以为只是打个分,然后接到电话说二面马上开始
二面
自我介绍
场景题,有一个日志系统,记录每个用户的访问与时间,定位访问峰值最高的时间
线程池的ShutDown与ShutDownNow,Terminating等
了解乐观锁吗,然后讲到MySQL,面试官对我的回答有些质疑,然后问了一题MySQL题,更新两个字段1变为0,0变为1,没写出来...
然后写题,层次打印二叉树,第一层从左到右,第二层从右到左.,第三层从左到右...这样,对输出有些要求
了解跨域请求吗,HTTP怎么做的
反问,我感觉有点凉就没细问...
没想到接到hr电话了有点意外...