由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - FB 面筋
相关主题
F面经的一题贡献G家电面面经
如何 serialization 和deserialization hash table ?星期一福利:某公司店面题
问一道算法题发个evernote的code challenge
多家的面经lintcode delete digits怎么做?
要面试一个烙印,问啥好?贡献一道电面题
一道面试题(integer to binary string)Deserialize in-order array to a minimum height binary tree.
share int2roman and roman2int java version求个java版本的binary tree serialization和deserialization
求教一道关于string的Google面试题~~对scala很失望
相关话题的讨论汇总
话题: string话题: int话题: buffer话题: return话题: integer
进入JobHunting版参与讨论
1 (共1页)
S***8
发帖数: 13
1
发个面筋攒点rp
店面:
1.实现 readline,假设提供read4k可以读取4k个字符
2.convert binary tree to double linked list
Onsite:
1.string serialize & deserialize
serialize: 输入两个string,返回serialized string
deserialize:输入serialized string,返回原来两个string
2.integer divide without using /
3.会议室安排问题
4.给一个string,比如UAXXBAUB,给一个pattern,比如AB,返回包含pattern的最短
substring,结果是AUB
5.regex mathing, 比leetcode上还方便一些,只要实现+
6.colour sorting
l****i
发帖数: 2772
2
电面第一题能解释一下么?
onsite第4题,要考虑pattern的顺序?
j**********3
发帖数: 3211
3
mark
i***u
发帖数: 89
4
thank you so much for the sharing, big bless
could you also elaborate on the string seialization question pls?

【在 S***8 的大作中提到】
: 发个面筋攒点rp
: 店面:
: 1.实现 readline,假设提供read4k可以读取4k个字符
: 2.convert binary tree to double linked list
: Onsite:
: 1.string serialize & deserialize
: serialize: 输入两个string,返回serialized string
: deserialize:输入serialized string,返回原来两个string
: 2.integer divide without using /
: 3.会议室安排问题

j**********3
发帖数: 3211
5
mark
f*******r
发帖数: 1086
6
Bless!
l****i
发帖数: 2772
7
哪位大牛出来讲解一下,第4题怎么做?
S***8
发帖数: 13
8
第一题,我把我当时面试的代码贴上来,可能还有问题,但面试官说可以了
class File {
static String buffer = "";
String readLine() {
if(!buffer.equals("")) { // we have characters left last time
StringBuilder sb = new StringBuilder();
int i = 0;
while(buffer.charAt(i) != '\n' && i < buffer.length()) { //
read one line
sb.append(buffer.charAt(i));
i++;
}
buffer = buffer.substring(i + 1);
if(i == buffer.length()) { // we have some caharcters in next
4k
return sb.toString() + readLine(); // <----
}
else {
return sb.toString(); // return current line
}
}
else { // buffer is empty, we need call read4k
buffer = read4k();
if(!buffer.equals())
return readLine();
else
return "";
}
}

String read4k() {

}
}
S***8
发帖数: 13
9
Onsite第四题,不考虑顺序,我给的例子的答案应该是BA(貌似就跟leetcode的Minimum
Window Substring一样),但是考虑顺序的话(A要在B前面),答案就是AUB
S***8
发帖数: 13
10
seialization question,其实这个很简单,我当时的解法就是两个String合并一下,
然后在开头添加一个[num],num是第一个String的长度,然后deserialize的时候只要判
断'[]',在把里面的数字读出来,判断一下是不是有效的就可以了
相关主题
一道面试题(integer to binary string)贡献G家电面面经
share int2roman and roman2int java version星期一福利:某公司店面题
求教一道关于string的Google面试题~~发个evernote的code challenge
进入JobHunting版参与讨论
l*********8
发帖数: 4642
11
seialization result的前四个字节是一个int数字?

【在 S***8 的大作中提到】
: seialization question,其实这个很简单,我当时的解法就是两个String合并一下,
: 然后在开头添加一个[num],num是第一个String的长度,然后deserialize的时候只要判
: 断'[]',在把里面的数字读出来,判断一下是不是有效的就可以了

s***f
发帖数: 226
12
那假设原string允许[num]这样的pattern呢?
有没有更generic的解法?

【在 S***8 的大作中提到】
: seialization question,其实这个很简单,我当时的解法就是两个String合并一下,
: 然后在开头添加一个[num],num是第一个String的长度,然后deserialize的时候只要判
: 断'[]',在把里面的数字读出来,判断一下是不是有效的就可以了

S***8
发帖数: 13
13
没有问题吧,我只要判断第一个阿,或者你可以规定开头的多少位是表示长度

【在 s***f 的大作中提到】
: 那假设原string允许[num]这样的pattern呢?
: 有没有更generic的解法?

l*********8
发帖数: 4642
14
I see. It works. Thanks.

【在 S***8 的大作中提到】
: 没有问题吧,我只要判断第一个阿,或者你可以规定开头的多少位是表示长度
d******s
发帖数: 274
15
我觉得序列化是用来传输 所以用json或xml就好了 不过这个应该也可以

【在 S***8 的大作中提到】
: 没有问题吧,我只要判断第一个阿,或者你可以规定开头的多少位是表示长度
f******n
发帖数: 279
16
mark
b*******g
发帖数: 57
17
没有design的题吗?
S******1
发帖数: 216
18

Minimum
写一个考虑顺序的inverted indexing做法
//7:10
//给一个string,比如UAXXBAUB,给一个pattern,比如AB,返回包含pattern的最短
substring,结果是AUB
int findMinWindow(String s, String p) {
if (s == null || p == null || s.length() < p.length())
return -1;
if (p.isEmpty())
return 0;

Map> indexMap = new HashMap Integer>>();
for (int i = 0; i < s.length(); i++) {
if (!indexMap.containsKey(s.charAt(i)))
indexMap.put(s.charAt(i), new ArrayList());

indexMap.get(s.charAt(i)).add(i);
}

List indexLists = new ArrayList[p.length];
for (int i = 0; i < p.length; i++) {
if (!indexMap.containsKey(p.charAt(i)))
return -1;

indexLists[i] = indexMap.get(p.charAt(i));
}

int minWindow = -1;
List lstBeg = indexLists[0];
for (int it : lstBeg) {
int lookForBigger = it;
for (int i = 1; i < indexLists.length; i++) {
int res = binSearchFirstBigger(indexLists[i], lookForBigger);
if (res < 0)
break;

lookForBigger = res;
}

int curWindow = (lookForBigger - it + 1);
minWindow = minWindow < 0 ? curWindow : Math.min(minWindow,
curWindow);
}

return minWindow;
}
int binSearchFirstBigger(List lst, int val) {
int beg = 0;
int end = lst.size()-1;

while (beg <= end) {
int mid = (beg + end)/2;
if (lst.get(mid > val && (mid == beg || lst.get(mid-1) <= val)))
return mid;

if (lst.get(mid) > val)
end = mid-1;
else
beg = mid + 1;
}

return mid;
}

【在 S***8 的大作中提到】
: Onsite第四题,不考虑顺序,我给的例子的答案应该是BA(貌似就跟leetcode的Minimum
: Window Substring一样),但是考虑顺序的话(A要在B前面),答案就是AUB

S***8
发帖数: 13
19
我是new grad,所以没有design题

【在 b*******g 的大作中提到】
: 没有design的题吗?
m****v
发帖数: 780
20
what is 会议室安排问题? thanks!

【在 S***8 的大作中提到】
: 发个面筋攒点rp
: 店面:
: 1.实现 readline,假设提供read4k可以读取4k个字符
: 2.convert binary tree to double linked list
: Onsite:
: 1.string serialize & deserialize
: serialize: 输入两个string,返回serialized string
: deserialize:输入serialized string,返回原来两个string
: 2.integer divide without using /
: 3.会议室安排问题

相关主题
lintcode delete digits怎么做?求个java版本的binary tree serialization和deserialization
贡献一道电面题对scala很失望
Deserialize in-order array to a minimum height binary tree.Google第二次电面
进入JobHunting版参与讨论
S***8
发帖数: 13
21
给很多的schedules,(start time, end time),然后计算最少用几个rooms可以安排所有
这些schedules

【在 m****v 的大作中提到】
: what is 会议室安排问题? thanks!
t*********7
发帖数: 255
22
bless and mark.
z**i
发帖数: 86
23
序列化这个问题比较有意思,我的想法
1)计算长度可能不够好,字符串可能很长,溢出可能。
2)增加offset格式位,增加存储负担。
3)可能最简单就是每行写一个字符串,最多多出"rn"2个char,且容易读取。
4)最优肯定是编码映射或者压缩方案,但要求两个字符串有特定性质。在无限制字符
串环境下,不是很合适。

【在 S***8 的大作中提到】
: 发个面筋攒点rp
: 店面:
: 1.实现 readline,假设提供read4k可以读取4k个字符
: 2.convert binary tree to double linked list
: Onsite:
: 1.string serialize & deserialize
: serialize: 输入两个string,返回serialized string
: deserialize:输入serialized string,返回原来两个string
: 2.integer divide without using /
: 3.会议室安排问题

d*********g
发帖数: 154
24

这题没思路啊。。求指点

【在 S***8 的大作中提到】
: 给很多的schedules,(start time, end time),然后计算最少用几个rooms可以安排所有
: 这些schedules

m*****k
发帖数: 731
25
private static String buffer="";
private static int start = 0;
private static String readLine(){

if (buffer == null){
return null;
}

int n = buffer.indexOf("n", start);
while(n<0){

String new4k = read4k();
if(new4k==null || new4k.length()==0){
String firstLine = buffer ;
buffer = null;
return firstLine;

}
start = buffer.length();
buffer+=new4k;
n = buffer.indexOf("n", start);
}

String firstLine = buffer.substring(0, n ) ;
buffer = buffer.substring(n + 1 );
return firstLine;
}

【在 S***8 的大作中提到】
: 第一题,我把我当时面试的代码贴上来,可能还有问题,但面试官说可以了
: class File {
: static String buffer = "";
: String readLine() {
: if(!buffer.equals("")) { // we have characters left last time
: StringBuilder sb = new StringBuilder();
: int i = 0;
: while(buffer.charAt(i) != '\n' && i < buffer.length()) { //
: read one line
: sb.append(buffer.charAt(i));

m*****k
发帖数: 731
26
seems bug here, i compare with changed buffer length?
buffer = buffer.substring(i + 1);
if(i == buffer.length()) { // we have some caharcters in next
4k

【在 S***8 的大作中提到】
: 第一题,我把我当时面试的代码贴上来,可能还有问题,但面试官说可以了
: class File {
: static String buffer = "";
: String readLine() {
: if(!buffer.equals("")) { // we have characters left last time
: StringBuilder sb = new StringBuilder();
: int i = 0;
: while(buffer.charAt(i) != '\n' && i < buffer.length()) { //
: read one line
: sb.append(buffer.charAt(i));

m*****k
发帖数: 731
27
http://www.careercup.com/question?id=5142448749674496
sort all si and ei gloablly,
set needed = 0,
scan all sorted si and ei , see si, ++needed, see ei, --needed
take the max number you get for needed during the scanning.

【在 d*********g 的大作中提到】
:
: 这题没思路啊。。求指点

1 (共1页)
进入JobHunting版参与讨论
相关主题
对scala很失望要面试一个烙印,问啥好?
Google第二次电面一道面试题(integer to binary string)
问道Binary tree serialization/de-serialization的题share int2roman and roman2int java version
请教leetcode上的count and say求教一道关于string的Google面试题~~
F面经的一题贡献G家电面面经
如何 serialization 和deserialization hash table ?星期一福利:某公司店面题
问一道算法题发个evernote的code challenge
多家的面经lintcode delete digits怎么做?
相关话题的讨论汇总
话题: string话题: int话题: buffer话题: return话题: integer