pure storage 面经 已挂

原帖地址:mitbbs

前后三次onsite,每次过了之后才能进行下一次,感觉就是一条命打魂斗罗。他家每场
面试1.5hr,很耗体力。

一个月前online test过后安排店面,因为人在湾区,可以直接去公司onsite.
onsite 1.
写一个函数,从文件头和文件尾分块读取数据,然后交换后分块写回去
如果写中途down机怎么办。方法是用transaction log记录操作,重新开始后
roll back
题目比较基础,不过顺带会问大量c相关的问题

onsite 2.
1.bit manuplation
2.判断是否是BST, leetcode原题
3.重构一个malloc函数,如何开辟内存的初始地址是N的整数倍,如何设计
对应的free
基本思想是开内存多留些冗余,修改要返回的指针指向地址,使其指向位
置指向整数位地址
free的时候有个小trick,要在开内存时,找个地方把指针移动位置记录下
来,这样free时就能找到地址修改值,推算出原来指针修改前的位置,能全部释放
4.问了大量char,array,point,OS,内存管理相关知识

onsite 3.
1.buddy system https://github.com/jasonfeng1989/Tech_Interviews/
blob/master/others/buddy_bitmap.py
2.task dispatching system
http://www.mitbbs.com/article_t/JobHunting/32702941.html
做题时候会顺带问大量multthread lock相关的知识,如果做题速度慢,没有很强
hands-on经验,即使题目做出来也很容易被看出来。

感觉他家算法题目很基础,但面试时,会问大量相关OS,c/c++,存储方面知识,如果
相关经验不多会比较郁闷

LZ EE背景 wireless天线方向,骑驴找骂转行CS,c/c++回答的都还可以,但那个职位
对multthread OS要求很高,没有太多经验
,结果悲剧了。。。