快手后端面试

快手笔试两个星期之后接到面试通知,18年5月2号上网10:30来五道口参加面试。

一面:

        1、手写扑克牌洗牌操作。主要就是用随机数打乱顺序。我写的是new一个数组,随机放入原数组中的数据(牌),忘记了生成随机数会重复的问题,改为先生成随机数数组再操作。面试官建议采用交换的方法;

        2、看简历,问项目。问了springMVC的架构,项目具体实现流程。问到注解的时候没能答出来注解是个什么机制;

        3、问了ArrayList,HashMap,HashTable的有关问题;

        4、问了JVM的一些问题;

        5、让讲了一下现在的研究内容。

二面:

        一面之后接着二面,面试官是个leader。二面答得不好。

        1、手写实现一个字符串转数;

        2、问了TCP协议的一些问题,讲POST,GET,为什么TCP比UDP可靠,问了HTTP的request,response;

        3、说一下CPU是怎样从内存中获取数据的,CPU怎样处理进程的,硬盘的寻道,读一个扇区的大概时间;

        4、讲了一下项目,介绍rdesktop,问了mybaits,还有Hadoop和HDFS;

        5、手写LRU,说一下其他的缓存失效策略;

        6、问了线程安全问题;

        6、手写设计模式。


你可能感兴趣的:(快手后端面试)