p*********b 发帖数: 47 | 1 在这儿潜水很久了,学习不少。也报点面经吧,我投的是 Mobile Software
Development Engineer。
我真不记得有没有一轮HR phone screen了,有记忆的是做了一个coding exam,没有时
间限制回头发给他代码的那种。一个是实现atol,一个是写个Trinary search tree的
类,跟BST的区别就是多了个middle指针,存和本节点值相等的node,要实现insertion
, deletion,大概原理和BST差不多,照着CLRS改改就行了。。。github上有个现成的
代码,不过里面有好几处错误,不能直接抄。两题都是让用Java写的。11月初给我的题
,我12月才写。
约了今天下午phone interview,先是问了问简历,most exciting course and
project, 最困难的问题这类。
然后问Hashtable各种常规概念优缺点,然后就是问一个文件有2^32 - 4个不同数字,
要把这四个数字找出来。我说用Bitmap,通过set bit的方法数出现过的数字,O(n)时
间,空间 2^(24-8) Bytes。问我如果没有Bitmap这个data structure怎么办,malloc/
free内存块, n/8确定Byte offset,n%8确定bit offset,在用移位<<去访问。然后接
着问如果内存很小怎么办,内存分块存disk上。都是很基础的问题,没有coding。剩下
就是我问他问题了,很搞的是还有家叫Redfin是他们的竞争对手我也在面。我以为还会
有轮phone screen,然后就直接让on-site了,估计一月初。
请问有人了解fresh grad的价码是多少嘛?Glassdoor上范围很大,review里面很多人
抱怨工资低,不过都是在公司上市之前09年,不知道现在什么样了。。。我看Linkedin
上很多人都是从Amazon, MSFT跳过去的,不知道具体有什么吸引人的地方啊。 |
q****x 发帖数: 7404 | 2 Trinary search tree的类,跟BST的区别就是多了个middle指针,存和本节点值相等的
node,要实现insertion, deletion,
什么叫和本节点值相等的node?如果有多个怎么办?
插入删除不需要考虑平衡情况?
insertion
【在 p*********b 的大作中提到】 : 在这儿潜水很久了,学习不少。也报点面经吧,我投的是 Mobile Software : Development Engineer。 : 我真不记得有没有一轮HR phone screen了,有记忆的是做了一个coding exam,没有时 : 间限制回头发给他代码的那种。一个是实现atol,一个是写个Trinary search tree的 : 类,跟BST的区别就是多了个middle指针,存和本节点值相等的node,要实现insertion : , deletion,大概原理和BST差不多,照着CLRS改改就行了。。。github上有个现成的 : 代码,不过里面有好几处错误,不能直接抄。两题都是让用Java写的。11月初给我的题 : ,我12月才写。 : 约了今天下午phone interview,先是问了问简历,most exciting course and : project, 最困难的问题这类。
|
p*********b 发帖数: 47 | 3 如果又很多可以接着往child的middle指针上挂。不需要考虑平衡。。。没那么复杂
【在 q****x 的大作中提到】 : Trinary search tree的类,跟BST的区别就是多了个middle指针,存和本节点值相等的 : node,要实现insertion, deletion, : 什么叫和本节点值相等的node?如果有多个怎么办? : 插入删除不需要考虑平衡情况? : : insertion
|
q****x 发帖数: 7404 | 4 那不如直接取代child,这样插入更快。
【在 p*********b 的大作中提到】 : 如果又很多可以接着往child的middle指针上挂。不需要考虑平衡。。。没那么复杂
|
q****x 发帖数: 7404 | 5 又想了一下,这个三叉树实际还是二叉树,不过把相同的键放到一个单链表里。
multiset和multimap就是用这个实现的吧?
【在 q****x 的大作中提到】 : 那不如直接取代child,这样插入更快。
|
p*********b 发帖数: 47 | 6 是,没什么区别,他们造出来的概念而已我觉得,单链表后面的node值都相同,左右指
针都浪费了。
我还真不知道multiset/map是用什么实现的,可能是。
【在 q****x 的大作中提到】 : 又想了一下,这个三叉树实际还是二叉树,不过把相同的键放到一个单链表里。 : multiset和multimap就是用这个实现的吧?
|
x******9 发帖数: 473 | |
P**********c 发帖数: 3417 | 8 以前有人报过offer, 他们上市后给的还是option, 不是RSU, 感觉换不成什么钱,
package一般情况吧。
insertion
【在 p*********b 的大作中提到】 : 在这儿潜水很久了,学习不少。也报点面经吧,我投的是 Mobile Software : Development Engineer。 : 我真不记得有没有一轮HR phone screen了,有记忆的是做了一个coding exam,没有时 : 间限制回头发给他代码的那种。一个是实现atol,一个是写个Trinary search tree的 : 类,跟BST的区别就是多了个middle指针,存和本节点值相等的node,要实现insertion : , deletion,大概原理和BST差不多,照着CLRS改改就行了。。。github上有个现成的 : 代码,不过里面有好几处错误,不能直接抄。两题都是让用Java写的。11月初给我的题 : ,我12月才写。 : 约了今天下午phone interview,先是问了问简历,most exciting course and : project, 最困难的问题这类。
|
p*********b 发帖数: 47 | 9 这样的啊,好,谢谢!
【在 P**********c 的大作中提到】 : 以前有人报过offer, 他们上市后给的还是option, 不是RSU, 感觉换不成什么钱, : package一般情况吧。 : : insertion
|
A**u 发帖数: 2458 | 10 然后就是问一个文件有2^32 - 4个不同数字,
要把这四个数字找出来。我说用Bitmap,通过set bit的方法数出现过的数字,O(n)时
间,空间 2^(24-8) Bytes。问我如果没有Bitmap这个data structure怎么办,malloc/
free内存块, n/8确定Byte offset,n%8确定bit offset,在用移位<<去访问。然后接
着问如果内存很小怎么办,内存分块存disk上。都是很基础的问题,没有coding。
请教 这里 byte offset, bit offset是什么意思,看的不太电脑?
你用malloc分配内存 大于 int 需要空间? |
p*********b 发帖数: 47 | 11 void setAtLocation(n){
unsigned int byteOffset = n/8;
unsigned char bitOffset = n%8;
buf[byteOffest] |= (1<
}
内存占用是2^(32 -3) bit == 512 MB,原帖数字写错了。。。汗
malloc/
【在 A**u 的大作中提到】 : 然后就是问一个文件有2^32 - 4个不同数字, : 要把这四个数字找出来。我说用Bitmap,通过set bit的方法数出现过的数字,O(n)时 : 间,空间 2^(24-8) Bytes。问我如果没有Bitmap这个data structure怎么办,malloc/ : free内存块, n/8确定Byte offset,n%8确定bit offset,在用移位<<去访问。然后接 : 着问如果内存很小怎么办,内存分块存disk上。都是很基础的问题,没有coding。 : 请教 这里 byte offset, bit offset是什么意思,看的不太电脑? : 你用malloc分配内存 大于 int 需要空间?
|
A**u 发帖数: 2458 | 12 大牛 还是看的不太懂
那你分配的内存是多大的
char* buf = malloc(size), 这个size是 n/8 + 1 个?
【在 p*********b 的大作中提到】 : void setAtLocation(n){ : unsigned int byteOffset = n/8; : unsigned char bitOffset = n%8; : buf[byteOffest] |= (1<: } : 内存占用是2^(32 -3) bit == 512 MB,原帖数字写错了。。。汗 : : malloc/
|
K*******g 发帖数: 26 | 13 改成
byteOffset = n>>3;
bitOffset = n&7;
统一一点
【在 p*********b 的大作中提到】 : void setAtLocation(n){ : unsigned int byteOffset = n/8; : unsigned char bitOffset = n%8; : buf[byteOffest] |= (1<: } : 内存占用是2^(32 -3) bit == 512 MB,原帖数字写错了。。。汗 : : malloc/
|