快手Java后端开发一面面经(已凉)
开始时间8.6下午4点到 5点
1、自我介绍;
2、java中可能出现的并发问题;
3、threadlocal如何实现线程安全的;
4、spring的bean的初始化过程;
5、反射机制;
5、springAOP的相关知识;
6、动态代理,说一下代理模式;
7、介绍一下redis单线程的优缺点,以及使用 redis单线程时需要注意什么;
8、kafka消息队列的实现原理(我回答了阻塞的消息队列 ……显然不对);
9、消息队列中涉及到了什么样的设计模式;
10、redis怎么实现热帖排行(项目);
……问题部分能记得的实在只有这么多了……不知道牛客的大佬是怎么能把所有问题都记住的 ……
代码部分:感觉真是透心凉……
1、代码思路题,给了n个大小不同的螺栓和 n个大小不同的螺钉,螺栓之间,螺钉之间的大小关系都不可知,编写算法,将所有的螺栓和螺钉匹配,螺栓和螺钉匹配的结果只有大了,小了,正好……(我说先在螺栓中找一个,将所有螺钉匹配一下,大的放一边,小的放一边,然后再拿一个螺栓重复上述过程 ……感觉自己就是在瞎说,面试官又问这是什么实现思想,我说是快排……面试官又问时间复杂度…… 我就回答了快排的nlogn……结果面试官又问为什么是nlogn……我就开始口糊了)
2、一个整形数组,数组中有N个值,其中有一个值 K出现的次数大于N/2……这个题似曾相识,但是怎么都写不出来…… 只能说暴力求解……太无语了
3、一个二叉排序树,给定两个值a.b,找到 a.b的共同的父节点,费尽九牛二虎之力,才把思路说对……结果还忘记利用二叉排序树剪枝了……
面试官挺nice,很有耐心,也一直等着我写代码,主要是我太不争气了,代码太重要了…… 心痛……
写面经攒rp,求一波二面……
但是面试官说一周内才有回复,我看牛客上好多人都是一面之后就二面了,难道我已经凉了吗…
#快手##Java工程师##校招##面经#