由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - GF面经
相关主题
讨论一下FB的经典题read和readline吧请教:string pattern match 题
能有人稍微给我解释下read4 java的leetcode给出的解法吗?半懂分享一道电面题,兼下午Onsite攒人品求祝福
刚刚和L的同胞电面完, 觉得是个很好的故事这个G题是DFS还是DP
问个编程,系统,网络有关的综合问题。请教一道老题目
Phone interview question一道google的面试题.
问两个题,一直不知道如何做几道F家面试题
新鲜RocketFuels电面回馈本版--报告一些最近的面筋
几道微软面试题面试题
相关话题的讨论汇总
话题: int话题: fb话题: buffer话题: nmov话题: nread
进入JobHunting版参与讨论
1 (共1页)
f*******t
发帖数: 7549
1
F
电面和onsite都是在西雅图本地面的。此分部是在downtown附近租的两层,有近360度
的景观,十分漂亮。分部总共有不到200人,很多是从微软来的,从A挖来的倒不多,原
因不明。午饭质量不错,小分部就不指望有中餐咯。
电面
1. 国人大哥,问了几个常见题,最难的题具体细节记不清了,大概是01矩阵上的DFS,
随便聊了会儿直接拿到onsite。
Onsite
1. 白女,亚马逊manager出身的女工程师,主问culture fit问题,比如为什么想来FB
。Coding题是恶心的罗马数字。因为鄙视这道题所以没在leetcode上刷过,还好是简单
题,很快写出来了。
2. 一个搞后端处理data的中国哥们,问sort linked list。随手写了个merge sort过
关,merge的时候没用dummy node方法,if语句用的很多,比较蛋疼。讨论了一下具体
的算法复杂度,直接背答案的人估计会被考倒。所以说做面试题的目的主要还是掌握算
法并能灵活用于解题,不太可能所有题都能练到随手就写出最优算法bug free的程度。
3. 午饭不算正式面试,跟一个呆了六七年的front end developer谈话。他说话有气无
力,感觉生命都被FB榨干了一样,最终也没聊出什么有意思的话题来。
4. 一个看上去很强壮的老美,广告组的,问设计题。FB用户每天发非常多的status
update,要求设计一个系统,能够对最近几天内的update进行关键字搜索。我回答建一
个index,每个单词对应一个status update id的列表,查询结果是取列表的交集。我
对大数据处理完全没经验,不清楚这轮会被鄙视到什么程度,反正从结果看是pass了……
5. 又是中国哥们,一看就像技术牛人。有两个长度为n的数组,分别存放螺钉和螺母。
它们之间是一一对应的关系,而没有大小相同的螺钉或大小相同的螺母。现在有个机器
人,它能拿起一个螺钉和一个螺母,试着把它们拧在一起。如果成功,返回0,如果螺
钉大于螺母返回1,小于则返回-1。初始情况下两个数组是shuffle过的,需要设计一个
算法让机器人帮你sort两个数组,使得两边相同index的螺钉和螺母是一对。
这题虽然不是新题但我也没见过,虽然上来就想到肯定得用quick sort的思路,还是一
时纠结住了。经提示才想出正确算法,是两边同时做partition。代码倒是很容易写,
写完后又被要求分析复杂度。
6. 一个亚裔带了一个围观的老美,两人加入FB的时间都不长。题目是在BST里找两个
node的LCA。我当时头脑发昏,写了一个common binary tree的解法,因为要处理各种
edge case,代码十分冗长。后来才发觉得他问的是最简单的变种,二分查找就行了。
快结束时就随便聊了,围观的老美挺能侃,虽然shadow面试理论上不应该说话吧……主
要谈及FB工程师文化,有没有类似于G的20%时间政策。他们说FB还在扩张期,没资源搞
跟主业不太相关的项目,比如自动驾驶汽车,但如果想的话可以参与其它组的项目。还
有就是hackason几天牛人能搞些cool的东西出来。一般都说FB比较辛苦,平时做其它
project的时间不会有多少吧。
G
电面
1. 在G呆了6年的烙印,问了得到一分钟内request次数。虽然是常见题,可惜没准备过
,好不容易写出一个queue的版本。后续问题是怎么测试,回答用spring的dependency
injection提供需要的时间,他貌似满意了。
2. 貌似烙印,在G呆了7年,目前工作是自动驾驶汽车。
第一题是给一个函数Object getRandom(List list),先问了怎么实现,接着问如果抛
出IndexOutOfBoundException怎么debug、问题可能出在什么地方和如何在无法修改这
个method所在library的情况下进行workaround,保证data contract不被破坏。我说问
题有可能出在多线程环境下,写个wrapper,多调用几次,直到返回一个结果为止。
第二题是写一个小程序,从文件中读一行,做一个regex matching,如果match就写进
另一个文件。只要写伪代码就行,随手写了。然后他问如果读一行需要3秒,regex
matching要1秒,写要5秒,处理一行总共要9秒,如何进行优化。我以为他要问map
reduce,因为不懂所以很紧张,结果他说这是个一次性的task,就在developer
desktop上运行,不用考虑分布式计算以及升级硬盘到SSD之类的,光从软件上优化。我
想了半天,也只有弄成pipeline,省掉不是性能瓶颈的regex matching这1秒,最终处
理一行还是要8秒。他貌似同意我的说法。我觉得这可能是他工作中真实碰到的问题,
也不知最后是如何解决的,要我说就上SSD吧,最简单了……
Onsite
1. 面相严肃的白人,问的内容比较非主流——code review。有一个NoSQL Db的
interface能查询某个key对应的value,某人用这个interface实现两个table的query
result aggregator,并且还有一段unit test。加起来只有短短20行代码,让我喷40分
钟,还要讲正确的实现方法是什么。不知道这是哪倒霉intern写的代码,也许N多面试
的人狂批……这个大概是针对有一定工作经验的人的测试,没在大公司干过的new grad
碰到肯定瞎了。感觉我虽然讲了很多,还是没有完全答出他想要的内容。
2. 头发像是用了飘柔的白人,害得我一直在想象他头发随春风飞舞的样子,也许分散
了做题的注意力:(
貌似是临时拉来充数的,从头到尾不是在笔记本上找题,就是突然随口问一句又说题目
不好再换道其它的。纠结半天问出经典题:实现insert, delete, getRandom都是O(1)
时间复杂度的数据结构。知道算法的话写起来不难,中途他追问了一下hashmap的原理。
最后没几分钟时他突然开始问一个设计题,要实现一个service,接到request后call N
个其它service获得data,组合起来返回结果给caller。正好我们组有个这样的service
,我直接把我们的实现说出来了,是先为N个service生成一个input/output的
dependency graph,再按topsort的顺序call。他就问如果有1000TPS怎么办,我说我们
组的做法就是scale up,因为这种service一般是read-only的,不用太考虑
consistency问题,直接加服务器并做好cache问题不大。他说他们组以前是这么做的,
我顺水推舟问现在怎么做的,他神秘兮兮地没回答。后来我想了一下,估计他们是用
distributed queue搞了一个asynchronous的系统。
3. 烙印,一开始跟他谈我的工作内容,明显觉得话不投机。被问了怎样serialize和
deserialize一个tree。这又没准备过,临时写了个serialize成json的实现,后来又扯
了下层序遍历。感觉他肯定给了我negative。
4. 午饭时间是我向HR点名指定的1337哥陪同,感觉好幸福……
5. 貌似欧洲白人,长相挺nerd。问了极其恶心的text justification。这题虽然在
leetcode上AC过,当场还是不出意料地写了一白板bug。他也知道这题麻烦,但毕竟写
的不好,估计给我的多半是negative。
6. 50岁老美,工作内容是往搜索结果里加与用户隐私信息相关的内容,态度很和蔼。
问了一道老题,给一个一次只能读4k字节的函数int read4096(byte *buff),要求实现
能读任意字节数的int read(byte *buff, int n_bytes)。他说如果愿意的话可以用
java写,我想了想,java的IO根本不会,还不如用C++呢。本来一年多几乎没碰过C++,
只是面试前在leetcode上拿几道练了下手,写的过程却意外地顺利,写完后跑了一个普
通test case,没看出问题。
他又追问,加一个让文件指针返回到文件头部的函数reset(),要求实现把文件指针移
到任意字节处的函数seek(int n_bytes)。在原来的基础上改改,倒不算难。我发现有
edge case没处理好,他看时间不多就说不用再改,结束了面试。
总结:
F周五onsite,过了一周后星期一拿到offer,速度比较快。G有点慢,不过在我拿FB
offer催的情况下一周多给了电拒。FB的HR十分耐心,愿意等G结果出来后再跟我谈。我
因为太懒就没面别家,于是又一次体验不到幸福的烦恼,直接签了唯一的offer。
F的package还是很有竞争力的,new grad也能达到150k,确实比A强很多。比较吸引人
的地方是6周的boot camp结束后自由选组,然后立即开办绿卡。后来我又跟F的一个
manager电话交流了一下,F相当支持开源,(我觉得)有趣的组也多。今天正好看到扎
克伯格带头游说,呼吁一系列针对STEM的移民改革,这样的公司值得一去:)
这次过后算是跟G面了总计11场,感觉好累,不会再爱了。。。
m****i
发帖数: 650
2
1 沙发
2 Congras
3 求refer
:)
l****o
发帖数: 315
3
草,楼主好强大。。。
n**m
发帖数: 122
4
Cong
顶技术贴
s*******s
发帖数: 1031
5
牛人。呵呵

FB

【在 f*******t 的大作中提到】
: F
: 电面和onsite都是在西雅图本地面的。此分部是在downtown附近租的两层,有近360度
: 的景观,十分漂亮。分部总共有不到200人,很多是从微软来的,从A挖来的倒不多,原
: 因不明。午饭质量不错,小分部就不指望有中餐咯。
: 电面
: 1. 国人大哥,问了几个常见题,最难的题具体细节记不清了,大概是01矩阵上的DFS,
: 随便聊了会儿直接拿到onsite。
: Onsite
: 1. 白女,亚马逊manager出身的女工程师,主问culture fit问题,比如为什么想来FB
: 。Coding题是恶心的罗马数字。因为鄙视这道题所以没在leetcode上刷过,还好是简单

r**h
发帖数: 1288
6
恭喜楼主!
赞分享呀

FB

【在 f*******t 的大作中提到】
: F
: 电面和onsite都是在西雅图本地面的。此分部是在downtown附近租的两层,有近360度
: 的景观,十分漂亮。分部总共有不到200人,很多是从微软来的,从A挖来的倒不多,原
: 因不明。午饭质量不错,小分部就不指望有中餐咯。
: 电面
: 1. 国人大哥,问了几个常见题,最难的题具体细节记不清了,大概是01矩阵上的DFS,
: 随便聊了会儿直接拿到onsite。
: Onsite
: 1. 白女,亚马逊manager出身的女工程师,主问culture fit问题,比如为什么想来FB
: 。Coding题是恶心的罗马数字。因为鄙视这道题所以没在leetcode上刷过,还好是简单

k***x
发帖数: 6799
7
赞和1337哥共进午餐。。。

FB

【在 f*******t 的大作中提到】
: F
: 电面和onsite都是在西雅图本地面的。此分部是在downtown附近租的两层,有近360度
: 的景观,十分漂亮。分部总共有不到200人,很多是从微软来的,从A挖来的倒不多,原
: 因不明。午饭质量不错,小分部就不指望有中餐咯。
: 电面
: 1. 国人大哥,问了几个常见题,最难的题具体细节记不清了,大概是01矩阵上的DFS,
: 随便聊了会儿直接拿到onsite。
: Onsite
: 1. 白女,亚马逊manager出身的女工程师,主问culture fit问题,比如为什么想来FB
: 。Coding题是恶心的罗马数字。因为鄙视这道题所以没在leetcode上刷过,还好是简单

r*****d
发帖数: 346
8
最后一段非常激动人心!祝福。

FB

【在 f*******t 的大作中提到】
: F
: 电面和onsite都是在西雅图本地面的。此分部是在downtown附近租的两层,有近360度
: 的景观,十分漂亮。分部总共有不到200人,很多是从微软来的,从A挖来的倒不多,原
: 因不明。午饭质量不错,小分部就不指望有中餐咯。
: 电面
: 1. 国人大哥,问了几个常见题,最难的题具体细节记不清了,大概是01矩阵上的DFS,
: 随便聊了会儿直接拿到onsite。
: Onsite
: 1. 白女,亚马逊manager出身的女工程师,主问culture fit问题,比如为什么想来FB
: 。Coding题是恶心的罗马数字。因为鄙视这道题所以没在leetcode上刷过,还好是简单

a***o
发帖数: 1182
9
楼主是master?
看来fb的package确实是不行了啊

FB

【在 f*******t 的大作中提到】
: F
: 电面和onsite都是在西雅图本地面的。此分部是在downtown附近租的两层,有近360度
: 的景观,十分漂亮。分部总共有不到200人,很多是从微软来的,从A挖来的倒不多,原
: 因不明。午饭质量不错,小分部就不指望有中餐咯。
: 电面
: 1. 国人大哥,问了几个常见题,最难的题具体细节记不清了,大概是01矩阵上的DFS,
: 随便聊了会儿直接拿到onsite。
: Onsite
: 1. 白女,亚马逊manager出身的女工程师,主问culture fit问题,比如为什么想来FB
: 。Coding题是恶心的罗马数字。因为鄙视这道题所以没在leetcode上刷过,还好是简单

f*******t
发帖数: 7549
10
100k sign on还是在梦中想一下吧,哈。
150k的package都看不上,fresh或者工作一年的master要拿多少才算行啊?

【在 a***o 的大作中提到】
: 楼主是master?
: 看来fb的package确实是不行了啊
:
: FB

相关主题
问两个题,一直不知道如何做请教:string pattern match 题
新鲜RocketFuels电面分享一道电面题,兼下午Onsite攒人品求祝福
几道微软面试题这个G题是DFS还是DP
进入JobHunting版参与讨论
x*********w
发帖数: 533
11
F西雅图的package才150k????
是base吧,算股票bonus了吗
a***o
发帖数: 1182
12
好像今年是降了不少...

【在 x*********w 的大作中提到】
: F西雅图的package才150k????
: 是base吧,算股票bonus了吗

f*******t
发帖数: 7549
13
base 150k的是哪些公司?

【在 x*********w 的大作中提到】
: F西雅图的package才150k????
: 是base吧,算股票bonus了吗

y*******3
发帖数: 16
14
fresh master 150k base 还不好? 开玩笑吧
M******7
发帖数: 30
15
mark
B*******1
发帖数: 2454
16
顶大牛啊。

★ 发自iPhone App: ChineseWeb 7.8

【在 f*******t 的大作中提到】
: F
: 电面和onsite都是在西雅图本地面的。此分部是在downtown附近租的两层,有近360度
: 的景观,十分漂亮。分部总共有不到200人,很多是从微软来的,从A挖来的倒不多,原
: 因不明。午饭质量不错,小分部就不指望有中餐咯。
: 电面
: 1. 国人大哥,问了几个常见题,最难的题具体细节记不清了,大概是01矩阵上的DFS,
: 随便聊了会儿直接拿到onsite。
: Onsite
: 1. 白女,亚马逊manager出身的女工程师,主问culture fit问题,比如为什么想来FB
: 。Coding题是恶心的罗马数字。因为鄙视这道题所以没在leetcode上刷过,还好是简单

r***a
发帖数: 2628
17
收藏。
K*******i
发帖数: 399
18
之前在Amazon? 面Google的Kirkland?
K*******i
发帖数: 399
19
题目有歧义,没点进来还以为是你替妹子报面经~
建议改用FG面经
f*******t
发帖数: 7549
20
G是去MV面的,蹭个午饭嘛
题目就这样啦,能提升点击率也不错

【在 K*******i 的大作中提到】
: 题目有歧义,没点进来还以为是你替妹子报面经~
: 建议改用FG面经

相关主题
请教一道老题目回馈本版--报告一些最近的面筋
一道google的面试题.面试题
几道F家面试题微软面试题
进入JobHunting版参与讨论
K*******i
发帖数: 399
21
之前在A? 感觉在AMGFLT等这些tier相当的大公司之间跳来跳去要容易一些吧。

【在 f*******t 的大作中提到】
: G是去MV面的,蹭个午饭嘛
: 题目就这样啦,能提升点击率也不错

f*******t
发帖数: 7549
22
我觉得有两点好处:
1.对如何在大公司里工作有一定认识,可以作为跟对方聊天的话题。
2.拿面试容易,不太会出现学生时代海投简历却没几个面试的囧况。

【在 K*******i 的大作中提到】
: 之前在A? 感觉在AMGFLT等这些tier相当的大公司之间跳来跳去要容易一些吧。
b*******l
发帖数: 590
23
祝贺楼主!是base 150K 吗?
看了你被问的这些题,总的感觉,G的比F的难!
f*******t
发帖数: 7549
24
pacakge总共150k
很想知道什么公司给master发150k base

【在 b*******l 的大作中提到】
: 祝贺楼主!是base 150K 吗?
: 看了你被问的这些题,总的感觉,G的比F的难!

B*******1
发帖数: 2454
25
西雅图150k 顶弯曲 200k了,爽啊

★ 发自iPhone App: ChineseWeb 7.8

【在 f*******t 的大作中提到】
: pacakge总共150k
: 很想知道什么公司给master发150k base

f*******t
发帖数: 7549
26
我选择去湾区。实在不喜欢西雅图lol

【在 B*******1 的大作中提到】
: 西雅图150k 顶弯曲 200k了,爽啊
:
: ★ 发自iPhone App: ChineseWeb 7.8

B*******1
发帖数: 2454
27
你是去fb总部?

★ 发自iPhone App: ChineseWeb 7.8

【在 f*******t 的大作中提到】
: 我选择去湾区。实在不喜欢西雅图lol
f*******t
发帖数: 7549
28


【在 B*******1 的大作中提到】
: 你是去fb总部?
:
: ★ 发自iPhone App: ChineseWeb 7.8

g****l
发帖数: 130
29
恭喜LZ呀!能问问signon多少啊?
f*******t
发帖数: 7549
30
默认很少,要跟HR谈

【在 g****l 的大作中提到】
: 恭喜LZ呀!能问问signon多少啊?
相关主题
面经一坨 (转载)能有人稍微给我解释下read4 java的leetcode给出的解法吗?半懂
singleton without static?刚刚和L的同胞电面完, 觉得是个很好的故事
讨论一下FB的经典题read和readline吧问个编程,系统,网络有关的综合问题。
进入JobHunting版参与讨论
x*********w
发帖数: 533
31
螺母那题是不是这样的
每次两个partition, 先以第一个螺母为基准partition螺钉,在partition螺钉的过程
中可以找到pivot和第一个螺母match的螺钉(归到pivot位置上去)
然后以找出的这个pivot螺钉为准partition螺母。
很想了一段时间啊
i**********d
发帖数: 105
32
求问这个题目怎么做啊?
6. 50岁老美,工作内容是往搜索结果里加与用户隐私信息相关的内容,态度很和蔼。
问了一道老题,给一个一次只能读4k字节的函数int read4096(byte *buff),要求实现
能读任意字节数的int read(byte *buff, int n_bytes)。他说如果愿意的话可以用
java写,我想了想,java的IO根本不会,还不如用C++呢。本来一年多几乎没碰过C++,
只是面试前在leetcode上拿几道练了下手,写的过程却意外地顺利,写完后跑了一个普
通test case,没看出问题。
他又追问,加一个让文件指针返回到文件头部的函数reset(),要求实现把文件指针移
到任意字节处的函数seek(int n_bytes)。在原来的基础上改改,倒不算难。我发现有
edge case没处理好,他看时间不多就说不用再改,结束了面试。
w*****t
发帖数: 485
33
big cong and nice sharing~
a********m
发帖数: 15480
34
cong。
150k package对fresh master可以了。。。。板上的童鞋们胃口也太大了。
x*********w
发帖数: 533
35
以前有写过这题,不知道对不对
========================================================
/*
有个封装好的函数int block_reader(char *buf),内部有个静态文件指针,
只能向文件末尾移动,不能rewind,每次只能读取K的block到buf里,返回读取
的字节数(除非到文件尾,否则总是K)要求实现int anysize_reader(char *buf, int
size)从文件的
当前位置读取任意大小的数据存入buf,并返回实际读到的数据字节数,白板写code
*/
const int k = 1024;
char buffer[k];
int nSize = 0;
int block_reader(char *buf);
void moveToBuf(char*& pWriter, int n)
{
if (n <= 0 || pWriter == NULL || nSize < n)
return;

memcpy(pWriter, buffer, n);
nSize -= n;
memcpy(buffer, buffer+n, nSize);
pWriter += n;
}
int anysize_reader(char *buf, int size)
{
if (buf == NULL || size <= 0)
return 0;
char* pWriter = buf;
int nLft = size;
int nMov = nLft > nSize ? nSize : nLft;
moveToBuf(pWriter, buffer, nMov);
nLft -= nMov;

while (nLft > 0)
{
int nRead = block_reader(buffer);
nMov = nLft < nRead ? nLft : nRead;
moveToBuf(pWriter, nMov);
nLft -= nMov;

if (nRead < k) break;
}

return pWriter - buf;
}
nSize记录当前buffer里有多少有效内存。
moveToBuf(char*& pWriter, int n)是把buffer里的有效内存移到指定pWriter上, 移
动n个bytes.
anysize_reader函数里nLft代表还剩多少没拷贝到目的地址,nLft == 0 或者 nRead <
k (读完了)时退出来
f*******t
发帖数: 7549
36
对,有了pivot后两边都要做partition

【在 x*********w 的大作中提到】
: 螺母那题是不是这样的
: 每次两个partition, 先以第一个螺母为基准partition螺钉,在partition螺钉的过程
: 中可以找到pivot和第一个螺母match的螺钉(归到pivot位置上去)
: 然后以找出的这个pivot螺钉为准partition螺母。
: 很想了一段时间啊

x*********w
发帖数: 533
37

这个的确不是能一下出来的思路,一开始想怎么同时partition,
应该是分别partition, 代码估计不难写

【在 f*******t 的大作中提到】
: 对,有了pivot后两边都要做partition
h********0
发帖数: 74
38
how about this, a java version
static int BLOCKSIZE = 4096;
/*
* 内部有个静态文件指针,只能向文件末尾移动,每次只能读取4K的block到buf里,
* 返回读取的字节数(除非到文件尾,否则总是4K)
*/
private int read4096(byte[] buf) {
//this is a fake
return Math.random() > 0.9 ? 1024 : 4096;
}
/**
* read bytes and fill in the contain of 'output'
*
* Testcases:
* 1 just want to read 3k, it < 4k, and the file is enough
* 2 just want to read 5k, 4k < it < 8k, and the file is enough
* 3 want too much, read all remain in the file
*
* @return how many bytes were read.
*/
public int anysize_reader(byte[] output) {
if (output == null || output.length == 0)
return 0;
byte[] block_buffer = new byte[BLOCKSIZE];
int remain = output.length;;
int destPros = 0;
int nMov;
while (remain > 0) {
int nRead = read4096(block_buffer);
nMov = remain < nRead ? remain : nRead; // for case #1 and #2
System.arraycopy(block_buffer, 0, output, destPros, nMov);
destPros += nMov;
remain -= nMov;
if (nRead < BLOCKSIZE) // for case #3
break;
}
return destPros;
}

int

【在 x*********w 的大作中提到】
: 以前有写过这题,不知道对不对
: ========================================================
: /*
: 有个封装好的函数int block_reader(char *buf),内部有个静态文件指针,
: 只能向文件末尾移动,不能rewind,每次只能读取K的block到buf里,返回读取
: 的字节数(除非到文件尾,否则总是K)要求实现int anysize_reader(char *buf, int
: size)从文件的
: 当前位置读取任意大小的数据存入buf,并返回实际读到的数据字节数,白板写code
: */
: const int k = 1024;

h********0
发帖数: 74
39
那位 大虾 解解:
加一个让文件指针返回到文件头部的函数reset(),要求实现把文件指针移
到任意字节处的函数seek(int n_bytes)。

【在 i**********d 的大作中提到】
: 求问这个题目怎么做啊?
: 6. 50岁老美,工作内容是往搜索结果里加与用户隐私信息相关的内容,态度很和蔼。
: 问了一道老题,给一个一次只能读4k字节的函数int read4096(byte *buff),要求实现
: 能读任意字节数的int read(byte *buff, int n_bytes)。他说如果愿意的话可以用
: java写,我想了想,java的IO根本不会,还不如用C++呢。本来一年多几乎没碰过C++,
: 只是面试前在leetcode上拿几道练了下手,写的过程却意外地顺利,写完后跑了一个普
: 通test case,没看出问题。
: 他又追问,加一个让文件指针返回到文件头部的函数reset(),要求实现把文件指针移
: 到任意字节处的函数seek(int n_bytes)。在原来的基础上改改,倒不算难。我发现有
: edge case没处理好,他看时间不多就说不用再改,结束了面试。

i**********d
发帖数: 105
40
int nRead = read4096(block_buffer);
这一句block_buffer是新建的。里面应该没有数据吧。你怎么读?
我觉得要读也应该读output吧。

【在 h********0 的大作中提到】
: how about this, a java version
: static int BLOCKSIZE = 4096;
: /*
: * 内部有个静态文件指针,只能向文件末尾移动,每次只能读取4K的block到buf里,
: * 返回读取的字节数(除非到文件尾,否则总是4K)
: */
: private int read4096(byte[] buf) {
: //this is a fake
: return Math.random() > 0.9 ? 1024 : 4096;
: }

相关主题
问个编程,系统,网络有关的综合问题。新鲜RocketFuels电面
Phone interview question几道微软面试题
问两个题,一直不知道如何做请教:string pattern match 题
进入JobHunting版参与讨论
h********0
发帖数: 74
41
int read4096(byte[] block_buffer) 是出题人提供的一个方法, 它每次从文件里读出
4k的数据放到 block_buffer里, 有时候没有4k, 所以需要用方法返回值记录 实际有的
byte number.

【在 i**********d 的大作中提到】
: int nRead = read4096(block_buffer);
: 这一句block_buffer是新建的。里面应该没有数据吧。你怎么读?
: 我觉得要读也应该读output吧。

r****m
发帖数: 70
42

byte[] buffer = new byte[4096];
int bufStart = 0;
int bufSize = 0;
int randomRead(byte output[], int size){
int i = 0;
while(i < size){
if(bufStart == bufSize){
bufSize = read4096(buffer);
bufStart = 0;
if(bufSize == 0) break;
}
for(int j = bufStart; j < bufSize && i < size; j++, i++){
output[i] = buffer[j];
}
}

return i;
}
y*c
发帖数: 904
43
螺钉螺母题第一次看到,有意思
a********9
发帖数: 129
44
请问hashmap的getRandom()怎么实现,我感觉array里面有的是空的,而且也不是从0
依次摆放,没法简单的返回array[random(size)]啊。。求教
B*****g
发帖数: 34098
45
狂顶,只是见过最详细的面经了

FB

【在 f*******t 的大作中提到】
: F
: 电面和onsite都是在西雅图本地面的。此分部是在downtown附近租的两层,有近360度
: 的景观,十分漂亮。分部总共有不到200人,很多是从微软来的,从A挖来的倒不多,原
: 因不明。午饭质量不错,小分部就不指望有中餐咯。
: 电面
: 1. 国人大哥,问了几个常见题,最难的题具体细节记不清了,大概是01矩阵上的DFS,
: 随便聊了会儿直接拿到onsite。
: Onsite
: 1. 白女,亚马逊manager出身的女工程师,主问culture fit问题,比如为什么想来FB
: 。Coding题是恶心的罗马数字。因为鄙视这道题所以没在leetcode上刷过,还好是简单

y*c
发帖数: 904
46

0
need to maintain another array

【在 a********9 的大作中提到】
: 请问hashmap的getRandom()怎么实现,我感觉array里面有的是空的,而且也不是从0
: 依次摆放,没法简单的返回array[random(size)]啊。。求教

b**********5
发帖数: 7881
47
那个F的题目, 比较简单啊。 为什么我面试时, 没人把我当fresh graduate那样面
a********9
发帖数: 129
48
ok,那就相当于key set了。。thank。。

【在 y*c 的大作中提到】
:
: 0
: need to maintain another array

1 (共1页)
进入JobHunting版参与讨论
相关主题
面试题Phone interview question
微软面试题问两个题,一直不知道如何做
面经一坨 (转载)新鲜RocketFuels电面
singleton without static?几道微软面试题
讨论一下FB的经典题read和readline吧请教:string pattern match 题
能有人稍微给我解释下read4 java的leetcode给出的解法吗?半懂分享一道电面题,兼下午Onsite攒人品求祝福
刚刚和L的同胞电面完, 觉得是个很好的故事这个G题是DFS还是DP
问个编程,系统,网络有关的综合问题。请教一道老题目
相关话题的讨论汇总
话题: int话题: fb话题: buffer话题: nmov话题: nread