由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - F面经
相关主题
FG nyc 面经最长回文串
Bloomberg面经how to resolve this question?
报个amazon summer intern面经,求blesson-site的时候Trie和suffix tree会考coding吗?
最近的一些面经Google/Nutanix/Yelp/WePay/WhatsApp,顺便求bless问道算法题
报个z******ts的onsite面经Palindrome那题,OJ上通不过
继续攒人品 报几家面经Palindrome那题,OJ上通不过
请问facebook末位淘汰是怎样的哦 有offer了但是怕去了不能surviveleetcode上的Longest Palindromic Substring难道不收brute for
做题了,看看有没有比我更好的解法 (20个包子)Facebook电话面试总结
相关话题的讨论汇总
话题: int话题: tbuf话题: char话题: totalread话题: 4096
进入JobHunting版参与讨论
1 (共1页)
m**********w
发帖数: 60
1
电面, 中国大哥, 问了一题,就是给read4k,实现read any bytes. 读大文件时如何
优化
onsite:
1, 美国人, 给一个词,判断是不是Palindome,
然后扩展问,给一个字典,找出所有对 单词,这两个单词可以组成一个palindom,
然后有问,可以组合任意个单词,怎么找到最长的可能的palindom
2, 中国大哥, 问了 permutation 和几种变体
3, 问现在的项目和resume
4, 美国人, 系统设计,设计各系统能返回 top 10 listened songs from your
friends.
今天收到据信,说coding可以,但是design没过。感谢FB的中国大哥,可惜自己能力有
限。
y***n
发帖数: 1594
2
read4k这题可不可讲一下,对我们这种文科生转行还是蛮难的。
z**a
发帖数: 69
3
Onsite 第一轮这题有什么好办法么,我只先到了brute force...而且任意个单词的时
候,如果有单词类似'a'这样的在字典里,那不是长度无上限了?
M*******a
发帖数: 1633
4
read4k 读大文件怎么优化啥意思
M*******a
发帖数: 1633
5
比如bob这个词就可以 bobbobobobobobobob......bobob?
估计要规定不能重复用word。
或者就是所有找到的互为palindrome的word首尾相连就行了?

【在 z**a 的大作中提到】
: Onsite 第一轮这题有什么好办法么,我只先到了brute force...而且任意个单词的时
: 候,如果有单词类似'a'这样的在字典里,那不是长度无上限了?

z**a
发帖数: 69
6
应该是不能重复吧,不然第二问中找到的单词对就能组成无限长的palindrome string
了。
不过还是想不到有什么好办法啊。不知道LZ怎么回答的。

【在 M*******a 的大作中提到】
: 比如bob这个词就可以 bobbobobobobobobob......bobob?
: 估计要规定不能重复用word。
: 或者就是所有找到的互为palindrome的word首尾相连就行了?

M*******a
发帖数: 1633
7
所有找到的互为palindrome的word首尾相连就行了?

string

【在 z**a 的大作中提到】
: 应该是不能重复吧,不然第二问中找到的单词对就能组成无限长的palindrome string
: 了。
: 不过还是想不到有什么好办法啊。不知道LZ怎么回答的。

z**a
发帖数: 69
8
不一定要互为palindrome啊,“aba”,如果“a”,“ba“分别在字典里,他们的组合
也是合法的啊。
M*******a
发帖数: 1633
9
对我知道
可以再就是找一个word的reverse看是不是能有其他word组成,这就是常见的word
break面试题。
把word break和互为palindrome的联在一起就够长了吧
当然还有abcde, fghi, ihgfe, dcba的情况

【在 z**a 的大作中提到】
: 不一定要互为palindrome啊,“aba”,如果“a”,“ba“分别在字典里,他们的组合
: 也是合法的啊。

m**********w
发帖数: 60
10
一个单词只能用一次,

【在 z**a 的大作中提到】
: Onsite 第一轮这题有什么好办法么,我只先到了brute force...而且任意个单词的时
: 候,如果有单词类似'a'这样的在字典里,那不是长度无上限了?

相关主题
继续攒人品 报几家面经最长回文串
请问facebook末位淘汰是怎样的哦 有offer了但是怕去了不能survivehow to resolve this question?
做题了,看看有没有比我更好的解法 (20个包子)on-site的时候Trie和suffix tree会考coding吗?
进入JobHunting版参与讨论
M*******a
发帖数: 1633
11
您老这题怎么答得?

【在 m**********w 的大作中提到】
: 一个单词只能用一次,
m**********w
发帖数: 60
12
第二个问我说每两个单词连起来试下,他说要O(n)的,然后我说可以把所有单词建成个
Trie,然后在对把每个单词reverse 一下,去Trie找匹配的prefix, 如果找到并且剩下
的postfix还是palindorm就可以了,然后他说可以,就让我写了代码
至于第三问,我也没啥思路, 就说按刚才同样思路,找到一个prefix匹配后,拿剩下
的部分在去找,比如刚才那个例子,
abcde, fghi, ihgfe, dcba
dcba 匹配abcde, 还剩下e
fghi 匹配ihgfe, 也还剩下e,那然后这四个单词就可以连在一起了,就这样继续。
也没让写代码,

【在 M*******a 的大作中提到】
: 您老这题怎么答得?
f*****n
发帖数: 2126
13
居然还要system design。绝对无法过啊
j*****8
发帖数: 3635
14

这个剩下的postfix是什么意思?如果两个词可以组成palindorm的话,其中一个应该和
另外一个的reverse完全一样阿?

【在 m**********w 的大作中提到】
: 第二个问我说每两个单词连起来试下,他说要O(n)的,然后我说可以把所有单词建成个
: Trie,然后在对把每个单词reverse 一下,去Trie找匹配的prefix, 如果找到并且剩下
: 的postfix还是palindorm就可以了,然后他说可以,就让我写了代码
: 至于第三问,我也没啥思路, 就说按刚才同样思路,找到一个prefix匹配后,拿剩下
: 的部分在去找,比如刚才那个例子,
: abcde, fghi, ihgfe, dcba
: dcba 匹配abcde, 还剩下e
: fghi 匹配ihgfe, 也还剩下e,那然后这四个单词就可以连在一起了,就这样继续。
: 也没让写代码,

M*****D
发帖数: 22
15
设计各系统能返回 top 10 listened songs from your
friends.
这个设计题有什么好的思路吗。。
我的想法:需要在每个朋友的歌单里面建立一个已听歌曲的list,然后计数,然后当我
去那数据的时候,尝试合并相同歌曲的counter,然后按counter排列?
这样子的话会形成相当庞大的数据(不管是存在cache还是存在db里),因为每首歌在
每个朋友那儿都有instance,有更好的思路吗
m**********w
发帖数: 60
16
不一定要一样,比如 abcdefe 和 dcba 就是长度不一样,但连起来是palindorm

【在 j*****8 的大作中提到】
:
: 这个剩下的postfix是什么意思?如果两个词可以组成palindorm的话,其中一个应该和
: 另外一个的reverse完全一样阿?

r*******k
发帖数: 1423
17
干脆还是每个用户自己维护一个song的list
再维护一个朋友的song的list的aggregation
当用户播放一首歌,需要更新所有朋友的list
当两个人unfriend,自己的朋友list minus 朋友的自己的list

【在 M*****D 的大作中提到】
: 设计各系统能返回 top 10 listened songs from your
: friends.
: 这个设计题有什么好的思路吗。。
: 我的想法:需要在每个朋友的歌单里面建立一个已听歌曲的list,然后计数,然后当我
: 去那数据的时候,尝试合并相同歌曲的counter,然后按counter排列?
: 这样子的话会形成相当庞大的数据(不管是存在cache还是存在db里),因为每首歌在
: 每个朋友那儿都有instance,有更好的思路吗

c*******r
发帖数: 610
18
多谢分享。
f确实是不简单啊。
能不能问问你设计题到底怎么答的?是不是说对任何一个脸书用户,返回他/她朋友听
过歌曲的top 10啊? 有哪些特殊的需求呢?
c*******r
发帖数: 610
19
第一题第二问不知道可不可以这么考虑:
给定任何一个单词,向左或者向右扩展,使得原单词本身变为一个palindrome,然后用
hash table检查向左或者向右插入的单词是否在字典里? 如果原单词本身就已经是
palindrome了,那么就要特殊处理一下了。
不知道这题可不可以从这个里面学到点什么东西 : http://www.quora.com/Algorithms/What-are-different-algorithm-for-converting-a-string-into-palindrome-string-except-appending-the-reverse-of-same-string-method
只是大概思路,请多讨论指教。
另外,read4k实现 read any bytes的思路到底是怎么搞的? 这是老题,但是我是一头
雾水啊。多谢!
B***n
发帖数: 84
20
abcde 和 ffffedcba 可以组成 palindrom,
具体来说把ffffedcba reverse 得到 abcdeffff
然后在字典里找到abcde 剩下的postfix 就是 ffff, 是一个palindorm, 所以abcde 和
ffffedcba 可以组成 palindrom

【在 j*****8 的大作中提到】
:
: 这个剩下的postfix是什么意思?如果两个词可以组成palindorm的话,其中一个应该和
: 另外一个的reverse完全一样阿?

相关主题
问道算法题leetcode上的Longest Palindromic Substring难道不收brute for
Palindrome那题,OJ上通不过Facebook电话面试总结
Palindrome那题,OJ上通不过讨论一下FB的经典题read和readline吧
进入JobHunting版参与讨论
S******1
发帖数: 216
21
楼主这个面经我感觉电面我就挂了,
FB面试难度的variance很大啊!
t*******e
发帖数: 274
22
电面那题,网上看到一种解法,这是正解么?
我有点不明白的是假如只有200bytes, 通过read4096之后是不是应该返回200(<4096)
作为结果?
public class read_4096_bytes {
public int read4096(char[] buf) {
return 4096;
}
public int read(int n, char[] buf) {
int totalRead = 0;
for (int i = 0; i < n / 4096; ++i) {
char[] tbuf = new char[4096];
int tRead = read4096(tbuf);
totalRead += copyTo(buf, totalRead, tbuf, tRead);
if (tRead < 4096) {
return totalRead;
}
}
char[] tbuf = new char[4096];
int tRead = read4096(tbuf);
totalRead += copyTo(buf, totalRead, tbuf, Math.min(tRead, n % 4096));
return totalRead;
}
private int copyTo(char[] buf, int start, char[] tbuf, int num_read) {
for (int i = 0; i < num_read; ++i) {
buf[start + i] = tbuf[i];
}
return num_read;
}
}
U***A
发帖数: 849
23
read4K读打文件优化怎么搞?
m**********w
发帖数: 60
24
如果只读200byte,那么剩下的就要buffer起来等下次读

【在 t*******e 的大作中提到】
: 电面那题,网上看到一种解法,这是正解么?
: 我有点不明白的是假如只有200bytes, 通过read4096之后是不是应该返回200(<4096)
: 作为结果?
: public class read_4096_bytes {
: public int read4096(char[] buf) {
: return 4096;
: }
: public int read(int n, char[] buf) {
: int totalRead = 0;
: for (int i = 0; i < n / 4096; ++i) {

m**********w
发帖数: 60
25
我开始写的代码跟楼上的一个兄弟写的类似,就是总是先读到local buffer里再copy到
目标buffer里。
其实对于一次读很多byte的,比如read(4GB),只是最开始的一些bytes和结尾的bytes需
要通过local buffer转存下,其他的直接循环调用read4k直接读就行了。
当然他给我的函数原型都是用C写的,牵涉到buffer copy,不知道Java下是不是就没这
个问题了

【在 U***A 的大作中提到】
: read4K读打文件优化怎么搞?
U***A
发帖数: 849
26
那个palindome第三问怎么搞?很难想明白。
W*********y
发帖数: 481
27
mark
l********s
发帖数: 358
28
我随手写了点java code,不知道对不对,其实就是需要个4K bytes的临时buffer暂存
一下。
// Given read4K(char[] buffer)
int read(char[] array, int N) {
char[] buffer;
int start = 0;
int end = 0;
int p = 0;
array = new char[N];
while (N > 0) {
if (start == end) { // Read next 4K bytes
start = 0; end = read4K(buffer);
}
if (end == 0) break;
int size = Math.max(N, end - start);
for (; start < size; start++) array[p++] = buffer[i];
N -= size;
}
}
但我不理解楼主提到的大文件优化问题,楼主能不能展开说说。

【在 m**********w 的大作中提到】
: 如果只读200byte,那么剩下的就要buffer起来等下次读
l********s
发帖数: 358
29
对于onsite第一题,我的思路是:
1. Create a HashMap for dictionary.
2. for each word, find its palindrome substring started with, and check if
the reverse
of the rest substring exists in the HashMap
比如"cbcab",它的starting palindrome substring是"cbc",然后在dictionary里查
找"ba"。
s******i
发帖数: 236
30
设计题像LRU
相关主题
leetcode里的Palindrome partition问题Bloomberg面经
palindrome partitioning 2报个amazon summer intern面经,求bless
FG nyc 面经最近的一些面经Google/Nutanix/Yelp/WePay/WhatsApp,顺便求bless
进入JobHunting版参与讨论
t*******e
发帖数: 274
31
总共只有200 bytes, 读完之后为什么还有剩下的?

【在 m**********w 的大作中提到】
: 如果只读200byte,那么剩下的就要buffer起来等下次读
m**********w
发帖数: 60
32
你这句:
array[p++] = buffer[start++];
假设N = 4GB, 那就是要把4GB内容先都拷贝到buffer, 然后再从buffer拷贝到array.
实际上不需要,大多数内容可以直接让read4k读到目标array里,不需要经过buffer,
减少一次memcpy.

【在 l********s 的大作中提到】
: 我随手写了点java code,不知道对不对,其实就是需要个4K bytes的临时buffer暂存
: 一下。
: // Given read4K(char[] buffer)
: int read(char[] array, int N) {
: char[] buffer;
: int start = 0;
: int end = 0;
: int p = 0;
: array = new char[N];
: while (N > 0) {

1 (共1页)
进入JobHunting版参与讨论
相关主题
Facebook电话面试总结报个z******ts的onsite面经
讨论一下FB的经典题read和readline吧继续攒人品 报几家面经
leetcode里的Palindrome partition问题请问facebook末位淘汰是怎样的哦 有offer了但是怕去了不能survive
palindrome partitioning 2做题了,看看有没有比我更好的解法 (20个包子)
FG nyc 面经最长回文串
Bloomberg面经how to resolve this question?
报个amazon summer intern面经,求blesson-site的时候Trie和suffix tree会考coding吗?
最近的一些面经Google/Nutanix/Yelp/WePay/WhatsApp,顺便求bless问道算法题
相关话题的讨论汇总
话题: int话题: tbuf话题: char话题: totalread话题: 4096