周一面试第一个,9点50開始,持续了1个小时左右,两个面试官,一个HR,一个技术。
整个面试大致分为三个部分:20分钟聊项目,20分钟研究了一道题,20分钟HR扯
一、依据简历问项目,问的特别仔细,先是自己介绍项目,然后他挑感兴趣的问你在当中做了什么,怎么解决这个问题的。当中还夹杂着一些知识的迁移,比方,问了我Linux用户态到内核态有哪些开销?优化代码过程详细你是怎么实现的?
二、题目:CacheKey-Value设计题,有一个1G的Cache缓存,里面存的是键值对,有一定的淘汰准则,问用什么样的数据结构来实现它的get()和put()操作
我開始说用Hash保证O(1)的查找效率,后来又想用排序(显然复杂度太高,面试官皱眉),他提示说近期get的热度就会最高,我想到了队列,后来总算说出了双向链表,最后写了个双向链表删除一个节点的代码。
回来网上一搜有类似的题目http://oj.leetcode.com/problems/lru-cache/
正解Hash+双向链表
三、HR问题:
1、家乡哪里,对以后工作地点有没期望?
2、自己未来职业规划,为什么选阿里实习?
3、你了解的阿里是什么样的,为了来阿里,做过哪些准备?
4、工作&学习中,有没有崇拜的人
5、自己优缺点有哪些?
6、特长爱好之类的