注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
Shopkick 第二轮面试,server组的人面试我,开始讲了一大堆他做的project如何如何fancy.
然后问我的全是数据库的内容,问我index内部实现是什么,我说b, b+树,问我使用b+树的优点,我说可以降低时间复杂度,降低到logn,
并且每一块都是一个page size,并且可以减少IO 查询次数,然后又问我还有什么choice嘛,我说hashmap,他说为什么index不采用hashmap
而使用b+树,我说建hashmap需要额外的空间(其实我感觉建个树,额外指针也需要空间,但是我实在不知道为什么了),于是呢 他就问我如何进行
range search 举了个例子
how do we query for rows that have a date in the year 2013?
然后我说用sql应该这样写
select * from a where data >= "2013-01-01" && data <="2013-12-3点小bug,等号忘加了,并且arraylist.add()写成 arraylist.get()了,这个错误实在是不该哦,他说这些错误不太重要,因为在IDE上能改过来,他说要清楚index的实现,这个很重要。自己觉得这一轮应该很难过,
这些小公司基本就的bug free.有点瑕疵,onsite基本就没戏,学到了一点,hashmap只有搜索某一item的时候,才是
最快的,但是search a range 就不太适用了,以前在国内学过数据库,但是没想到index实现的问题,cmu 15615如果
能好好学过的话,这次面试就该过了~
补充内容 (2014-2-25 22:13):
很开心,最后有onsite啦 |