t*****s 发帖数: 14 | 1 2周前电面G家,一直没有消息,昨天果然收到据信。说是找不到和我背景match的职位
,blah blah,我觉得都是外交语言。我因为自己觉得电面过程还比较顺利,所以想拿
出来,请大家帮着分析分析,到底是什么原因被拒。
看网上一般电面都是连着两轮,但我只有一次。面试者看名字是白人,人很nice,说话
也比较清楚。一开始让我介绍了一下我简历中提到的一个项目,然后就进入coding。两
道题都是基本题。第一题是统计一个字符串里每个字符出现的次数。我先问了是ascii
还是unicode,他说unicode吧,我想这基本就是O(n)的算法,没有什么花样可以变,就
把代码写出来。他检查后觉得没有问题,然后问我如果字符串非常长的话怎么办,我于
是把数组和有关变量都改成long long。他说如果还要长怎么办,我一开始没有想到怎
么办,后来他提醒说指针,于是我理解他是希望直接用指针来index。第二题具体内容
有点忘了,大致是如何在脚本语言里动态获得对象的类。他问我能否用javascript写(
他自己是做javascript安全的),我因为有一段时间没用js,就提议用python写,他说
没问题。写完后他指出一个小问题后。coding部分也就过去了。然后就是让我提问,我
就问了他所在的team,他参与的项目组我正好有一点了解,所以和他简单聊了两句,整
个面试就结束了。我自己实在看不出问题在哪里,
另外,我背景是今年cs phd毕业。方向是移动平台的security。我在简历中比较倾向移
动平台。简历是通过同学递进去的,所以也就顺利拿到电面了。没想到连onsite都没有
拿到。所以特地拿出来,请高人帮助分析一下原因。 |
p*****2 发帖数: 21240 | |
g***l 发帖数: 18555 | 3 PHD没工作过,随便有个工作经验的可能就排你前面了,没什么大惊小怪的,以后要注
意研究公司的招人广告,尽量发现内部消息,做什么,需要什么样的人,他们需要解决
什么问题,现在到了什么阶段,公司里有没有老中,去打探一下情况。很多公司还是很
在乎CONNECTION,你的兴趣,热情,有时候可以弥补没经验和技术差一点的欠缺。老中
给人的印象是NERDY,只会闷头干活,不关心公司的发展,不爱跟同事交流,缺少
POSITIVE的ATTITUDE,说话不利索,支支吾吾,这些都需要克服。 |
w****x 发帖数: 2483 | 4 "他检查后觉得没有问题,然后问我如果字符串非常长的话怎么办,"
不就是bitmap solution吗, 再长还不是一样算??? 没理解 |
p*****2 发帖数: 21240 | 5
怎么用bitmap呢?
【在 w****x 的大作中提到】 : "他检查后觉得没有问题,然后问我如果字符串非常长的话怎么办," : 不就是bitmap solution吗, 再长还不是一样算??? 没理解
|
a****n 发帖数: 1887 | |
z*********8 发帖数: 2070 | 7 要统计次数, 而不仅仅是出现与否, bitmap不行吗?
【在 w****x 的大作中提到】 : "他检查后觉得没有问题,然后问我如果字符串非常长的话怎么办," : 不就是bitmap solution吗, 再长还不是一样算??? 没理解
|
h**********l 发帖数: 6342 | 8 是说遍历string要用pointer? C string?
ascii
【在 t*****s 的大作中提到】 : 2周前电面G家,一直没有消息,昨天果然收到据信。说是找不到和我背景match的职位 : ,blah blah,我觉得都是外交语言。我因为自己觉得电面过程还比较顺利,所以想拿 : 出来,请大家帮着分析分析,到底是什么原因被拒。 : 看网上一般电面都是连着两轮,但我只有一次。面试者看名字是白人,人很nice,说话 : 也比较清楚。一开始让我介绍了一下我简历中提到的一个项目,然后就进入coding。两 : 道题都是基本题。第一题是统计一个字符串里每个字符出现的次数。我先问了是ascii : 还是unicode,他说unicode吧,我想这基本就是O(n)的算法,没有什么花样可以变,就 : 把代码写出来。他检查后觉得没有问题,然后问我如果字符串非常长的话怎么办,我于 : 是把数组和有关变量都改成long long。他说如果还要长怎么办,我一开始没有想到怎 : 么办,后来他提醒说指针,于是我理解他是希望直接用指针来index。第二题具体内容
|
g**********y 发帖数: 14569 | 9 我猜问题出在第一个上。
G的电面通常45分钟,会问两个coding题。第一个题判断你的水平,如果解答是他期望
的或者能解释得过去的,他就会问更难的。第二题做完一般就没时间了。如果你做到第
3道,说明你解得很快,多半会过关。
如果第一题他觉得你的方向不对或者基本功不够,第二题就是给你的最后一次机会,也
可能他已经判断不行了,剩下就是走过场。
象你说的第一题这种,问题本身不难,但是可以变化的条件很多,需要你提问把这些条
件限制住。在交流过程里,如果你问得不够多,没有问清楚,或者写得不clean, 他可
能认为你基本训练不够。第二题随便找一个,按理说他期望你能马上回答,结果你没答
上来,转到了python上。他的报告写上去就很一般,导致杯具。
这种情况发生,跟你真正水平关系不大,更多是你跟面试官交流的问题。
ascii
【在 t*****s 的大作中提到】 : 2周前电面G家,一直没有消息,昨天果然收到据信。说是找不到和我背景match的职位 : ,blah blah,我觉得都是外交语言。我因为自己觉得电面过程还比较顺利,所以想拿 : 出来,请大家帮着分析分析,到底是什么原因被拒。 : 看网上一般电面都是连着两轮,但我只有一次。面试者看名字是白人,人很nice,说话 : 也比较清楚。一开始让我介绍了一下我简历中提到的一个项目,然后就进入coding。两 : 道题都是基本题。第一题是统计一个字符串里每个字符出现的次数。我先问了是ascii : 还是unicode,他说unicode吧,我想这基本就是O(n)的算法,没有什么花样可以变,就 : 把代码写出来。他检查后觉得没有问题,然后问我如果字符串非常长的话怎么办,我于 : 是把数组和有关变量都改成long long。他说如果还要长怎么办,我一开始没有想到怎 : 么办,后来他提醒说指针,于是我理解他是希望直接用指针来index。第二题具体内容
|
p*****2 发帖数: 21240 | |
|
|
l*********8 发帖数: 4642 | 11 Did you use a hash table to save the character counts?
ascii
【在 t*****s 的大作中提到】 : 2周前电面G家,一直没有消息,昨天果然收到据信。说是找不到和我背景match的职位 : ,blah blah,我觉得都是外交语言。我因为自己觉得电面过程还比较顺利,所以想拿 : 出来,请大家帮着分析分析,到底是什么原因被拒。 : 看网上一般电面都是连着两轮,但我只有一次。面试者看名字是白人,人很nice,说话 : 也比较清楚。一开始让我介绍了一下我简历中提到的一个项目,然后就进入coding。两 : 道题都是基本题。第一题是统计一个字符串里每个字符出现的次数。我先问了是ascii : 还是unicode,他说unicode吧,我想这基本就是O(n)的算法,没有什么花样可以变,就 : 把代码写出来。他检查后觉得没有问题,然后问我如果字符串非常长的话怎么办,我于 : 是把数组和有关变量都改成long long。他说如果还要长怎么办,我一开始没有想到怎 : 么办,后来他提醒说指针,于是我理解他是希望直接用指针来index。第二题具体内容
|
m***n 发帖数: 2154 | 12 如果字符串相当长,任何一个数据结构都存不下,那就存一个pointer,然后用string
计数就是了。 我感觉这题目的trick就在这里 |
l*********8 发帖数: 4642 | 13 You said, ",我于是把数组和有关变量都改成long long".
What did you use the 数组 for? |
w****x 发帖数: 2483 | 14
不就是int rec[0xFFFF]计数吗, 扫一遍字符串到*p == 0的时候停止,
和长度有啥关系,难道是我理解错了
【在 p*****2 的大作中提到】 : 我还是不明白第一题楼主怎么做的。
|
p*****2 发帖数: 21240 | 15
Java有BigInteger可以存。
【在 m***n 的大作中提到】 : 如果字符串相当长,任何一个数据结构都存不下,那就存一个pointer,然后用string : 计数就是了。 我感觉这题目的trick就在这里
|
m***n 发帖数: 2154 | 16 BigInteger估计也就是用一个vector实现的。
【在 p*****2 的大作中提到】 : : Java有BigInteger可以存。
|
p*****2 发帖数: 21240 | 17
太长了,int装不下。
【在 w****x 的大作中提到】 : : 不就是int rec[0xFFFF]计数吗, 扫一遍字符串到*p == 0的时候停止, : 和长度有啥关系,难道是我理解错了
|
p*****2 发帖数: 21240 | 18
你这个东西是bitmap吗?长度是不是要+1呢?
【在 w****x 的大作中提到】 : : 不就是int rec[0xFFFF]计数吗, 扫一遍字符串到*p == 0的时候停止, : 和长度有啥关系,难道是我理解错了
|
w****x 发帖数: 2483 | 19
Unicode就是2^16个元素, 一个2字节.
我指的是bitmap solution, 不一定是一个个bit的那种, 广义的那种用下标直接定位的
类似hash的方法. 不明白和长度有什么关系, 再长也就是那个数组吧, 只要不考虑单个
元素over flow的情况, 就算考虑那就用字符串代表int
【在 p*****2 的大作中提到】 : : 你这个东西是bitmap吗?长度是不是要+1呢?
|
p*****2 发帖数: 21240 | 20
如果是0xFFFF,你的数组就OF了吧。
【在 w****x 的大作中提到】 : : Unicode就是2^16个元素, 一个2字节. : 我指的是bitmap solution, 不一定是一个个bit的那种, 广义的那种用下标直接定位的 : 类似hash的方法. 不明白和长度有什么关系, 再长也就是那个数组吧, 只要不考虑单个 : 元素over flow的情况, 就算考虑那就用字符串代表int
|
|
|
w****x 发帖数: 2483 | 21
也就是2^16 * sizeof(int) == 262 144个字节
不到0.3MB, VS默认的一个线程对应的堆栈好像是2MB, 不会溢出
【在 p*****2 的大作中提到】 : : 如果是0xFFFF,你的数组就OF了吧。
|
p*****2 发帖数: 21240 | 22
我的意思是你的数组的长度是不是少了一个呢?你定义的0xFFFF, 只能装到0xFFFE吧。
【在 w****x 的大作中提到】 : : 也就是2^16 * sizeof(int) == 262 144个字节 : 不到0.3MB, VS默认的一个线程对应的堆栈好像是2MB, 不会溢出
|
w****x 发帖数: 2483 | 23 极端情况下如果非常长, 而且字符都是同一个那就用new出来的字符串代表吧...
char* rec[0xFFFF] |
w****x 发帖数: 2483 | 24
Unicode的范围不是0-0xFFFE吗?? 就像ASCII一共有256个,
范围是0-255, 正好对应int rec[256]的index 0~255
【在 p*****2 的大作中提到】 : : 我的意思是你的数组的长度是不是少了一个呢?你定义的0xFFFF, 只能装到0xFFFE吧。
|
p*****2 发帖数: 21240 | 25
256是0xFF+1
【在 w****x 的大作中提到】 : : Unicode的范围不是0-0xFFFE吗?? 就像ASCII一共有256个, : 范围是0-255, 正好对应int rec[256]的index 0~255
|
w****x 发帖数: 2483 | 26 oh, 是啊, 昏头了, 用int rec[0xFFFF+1] |
l*********8 发帖数: 4642 | 27 Unicode可以有四个字节吧?
【在 w****x 的大作中提到】 : oh, 是啊, 昏头了, 用int rec[0xFFFF+1]
|
p*****2 发帖数: 21240 | 28
C里边好像就是两个吧?w_char。不知道其他语言什么情况。
【在 l*********8 的大作中提到】 : Unicode可以有四个字节吧?
|
w****x 发帖数: 2483 | 29
如果编码格式是UTF-8呢,这题该怎么做
【在 p*****2 的大作中提到】 : : C里边好像就是两个吧?w_char。不知道其他语言什么情况。
|
p*****2 发帖数: 21240 | 30
还是一样的做法吧?有区别吗?
【在 w****x 的大作中提到】 : : 如果编码格式是UTF-8呢,这题该怎么做
|
|
|
w****x 发帖数: 2483 | 31
UTF8是1到6个字节变长, 是不是要设计hashtable来做了.
设计6个hashtable 哈哈
【在 p*****2 的大作中提到】 : : 还是一样的做法吧?有区别吗?
|
p*****2 发帖数: 21240 | 32
不懂UTF8。如果变长就用hashtable就好了。应该一个就够了吧。UTF8字符如何表达呢
?
【在 w****x 的大作中提到】 : : UTF8是1到6个字节变长, 是不是要设计hashtable来做了. : 设计6个hashtable 哈哈
|
t*****s 发帖数: 14 | 33 我当时没有保存具体的代码。但是方法大致就是
int* count_string(wchar *input){
int* count = new int[65536];
int i = 0;
while(input[i]!=0)
count[input[i]]++;
return count;
}
这应该算是bitmap吧。 我没有用hashtable,这里似乎也没必要用hash table吧。因为
一开始并没有说字符串很长,所以我就从一个简单的代码开始。后来他说如果字符串很
长,我就把count改成long long*,i 改成 long long. 然后他说万一long long 还是
不够长。我说那就考虑把字符串拆成几段吧。他明显不喜欢这个提议,说再长,有些东
西是不会变的。 我一开始没理解,后来他提到指针,我想了一下,这次理解了。他是
想直接用指针操作来取消i。我说了这个意思,他立刻说对。也没有要求我再写代码。
要写出来的话,应该是
int* count_string(wchar *input){
int* count = new int[65536];
while(*input!=0)
count[*input++]++;
return count;
} |
t*****s 发帖数: 14 | 34 我当时没有保存具体的代码。但是方法大致就是
int* count_string(wchar *input){
int* count = new int[65536];
int i = 0;
while(input[i]!=0)
count[input[i]]++;
return count;
}
这应该算是bitmap吧。 我没有用hashtable,这里似乎也没必要用hash table吧。因为
一开始并没有说字符串很长,所以我就从一个简单的代码开始。后来他说如果字符串很
长,我就把count改成long long*,i 改成 long long. 然后他说万一long long 还是
不够长。我说那就考虑把字符串拆成几段吧。他明显不喜欢这个提议,说再长,有些东
西是不会变的。 我一开始没理解,后来他提到指针,我想了一下,这次理解了。他是
想直接用指针操作来取消i。我说了这个意思,他立刻说对。也没有要求我再写代码。
要写出来的话,应该是
int* count_string(wchar *input){
int* count = new int[65536];
while(*input!=0)
count[*input++]++;
return count;
} |
t*****s 发帖数: 14 | 35 我当时没有保存具体的代码。但是方法大致就是
int* count_string(wchar *input){
int* count = new int[65536];
int i = 0;
while(input[i]!=0)
count[input[i]]++;
return count;
}
这应该算是bitmap吧。 我没有用hashtable,这里似乎也没必要用hash table吧。因为
一开始并没有说字符串很长,所以我就从一个简单的代码开始。后来他说如果字符串很
长,我就把count改成long long*,i 改成 long long. 然后他说万一long long 还是
不够长。我说那就考虑把字符串拆成几段吧。他明显不喜欢这个提议,说再长,有些东
西是不会变的。 我一开始没理解,后来他提到指针,我想了一下,这次理解了。他是
想直接用指针操作来取消i。我说了这个意思,他立刻说对。也没有要求我再写代码。
要写出来的话,应该是
int* count_string(wchar *input){
int* count = new int[65536];
while(*input!=0)
count[*input++]++;
return count;
} |
t*****s 发帖数: 14 | 36 我当时没有保存具体的代码。但是方法大致就是
int* count_string(wchar *input){
int* count = new int[65536];
int i = 0;
while(input[i]!=0)
count[input[i]]++;
return count;
}
这应该算是bitmap吧。 我没有用hashtable,这里似乎也没必要用hash table吧。因为
一开始并没有说字符串很长,所以我就从一个简单的代码开始。后来他说如果字符串很
长,我就把count改成long long*,i 改成 long long. 然后他说万一long long 还是
不够长。我说那就考虑把字符串拆成几段吧。他明显不喜欢这个提议,说再长,有些东
西是不会变的。 我一开始没理解,后来他提到指针,我想了一下,这次理解了。他是
想直接用指针操作来取消i。我说了这个意思,他立刻说对。也没有要求我再写代码。
要写出来的话,应该是
int* count_string(wchar *input){
int* count = new int[65536];
while(*input!=0)
count[*input++]++;
return count;
} |
t*****s 发帖数: 14 | 37
我当时没有保存具体的代码。但是方法大致就是
int* count_string(wchar *input){
int* count = new int[65536];
int i = 0;
while(input[i]!=0)
count[input[i]]++;
return count;
}
这应该算是bitmap吧。 我没有用hashtable,这里似乎也没必要用hash table吧。因为
一开始并没有说字符串很长,所以我就从一个简单的代码开始。后来他说如果字符串很
长,我就把count改成long long*,i 改成 long long. 然后他说万一long long 还是
不够长。我说那就考虑把字符串拆成几段吧。他明显不喜欢这个提议,说再长,有些东
西是不会变的。 我一开始没理解,后来他提到指针,我想了一下,这次理解了。他是
想直接用指针操作来取消i。我说了这个意思,他立刻说对。也没有要求我再写代码。
要写出来的话,应该是
int* count_string(wchar *input){
int* count = new int[65536];
while(*input!=0)
count[*input++]++;
return count;
}
【在 p*****2 的大作中提到】 : : 不懂UTF8。如果变长就用hashtable就好了。应该一个就够了吧。UTF8字符如何表达呢 : ?
|
w****x 发帖数: 2483 | 38
你改成pointer一样overflow啊, 他的意思是比如说字符串空间超过4GB?? 那内存装不下要读文件
啊, 啥意思到底....
【在 t*****s 的大作中提到】 : 我当时没有保存具体的代码。但是方法大致就是 : int* count_string(wchar *input){ : int* count = new int[65536]; : int i = 0; : while(input[i]!=0) : count[input[i]]++; : return count; : } : 这应该算是bitmap吧。 我没有用hashtable,这里似乎也没必要用hash table吧。因为 : 一开始并没有说字符串很长,所以我就从一个简单的代码开始。后来他说如果字符串很
|
v***6 发帖数: 42 | 39 问个不相关的
移动平台的security, 那是在做什么? |
p*****2 发帖数: 21240 | 40
明白了。多谢。原来trick在这里。但是long long可能不够吗?现在系统不就是64位的
吗?怎么可能不够?
【在 t*****s 的大作中提到】 : 我当时没有保存具体的代码。但是方法大致就是 : int* count_string(wchar *input){ : int* count = new int[65536]; : int i = 0; : while(input[i]!=0) : count[input[i]]++; : return count; : } : 这应该算是bitmap吧。 我没有用hashtable,这里似乎也没必要用hash table吧。因为 : 一开始并没有说字符串很长,所以我就从一个简单的代码开始。后来他说如果字符串很
|
|
|
p**o 发帖数: 1012 | 41 第一题map reduce行不?并发行不?非常长就是单机内存不够用吧
ascii
【在 t*****s 的大作中提到】 : 2周前电面G家,一直没有消息,昨天果然收到据信。说是找不到和我背景match的职位 : ,blah blah,我觉得都是外交语言。我因为自己觉得电面过程还比较顺利,所以想拿 : 出来,请大家帮着分析分析,到底是什么原因被拒。 : 看网上一般电面都是连着两轮,但我只有一次。面试者看名字是白人,人很nice,说话 : 也比较清楚。一开始让我介绍了一下我简历中提到的一个项目,然后就进入coding。两 : 道题都是基本题。第一题是统计一个字符串里每个字符出现的次数。我先问了是ascii : 还是unicode,他说unicode吧,我想这基本就是O(n)的算法,没有什么花样可以变,就 : 把代码写出来。他检查后觉得没有问题,然后问我如果字符串非常长的话怎么办,我于 : 是把数组和有关变量都改成long long。他说如果还要长怎么办,我一开始没有想到怎 : 么办,后来他提醒说指针,于是我理解他是希望直接用指针来index。第二题具体内容
|
c****p 发帖数: 6474 | 42 对面的题如果真这么出的话……我表示很无语。。。。
【在 p*****2 的大作中提到】 : : 明白了。多谢。原来trick在这里。但是long long可能不够吗?现在系统不就是64位的 : 吗?怎么可能不够?
|
A**u 发帖数: 2458 | 43 晕 是这样啊
看来英语太重要啦
【在 t*****s 的大作中提到】 : 我当时没有保存具体的代码。但是方法大致就是 : int* count_string(wchar *input){ : int* count = new int[65536]; : int i = 0; : while(input[i]!=0) : count[input[i]]++; : return count; : } : 这应该算是bitmap吧。 我没有用hashtable,这里似乎也没必要用hash table吧。因为 : 一开始并没有说字符串很长,所以我就从一个简单的代码开始。后来他说如果字符串很
|
p*****2 发帖数: 21240 | 44
是呀。里边应该还是有东西没弄清除。
【在 c****p 的大作中提到】 : 对面的题如果真这么出的话……我表示很无语。。。。
|
l*********8 发帖数: 4642 | 45 我猜面试官可能还有的trick或者考点没说呢。
【在 p*****2 的大作中提到】 : : 是呀。里边应该还是有东西没弄清除。
|
y****n 发帖数: 743 | 46 1. 对于count出界没做处理,比如某字符出现过10万次
2. int对于不同的系统和编译器有不同的长度定义
3. 为什么不用unsigned?
4. 使用数组,对空间造成浪费
5. 做题之前应该询问对方:针对空间优化还是针对时间优化?
6. 没有做输入检查,比如input为NULL
7. 当对方问如果字符串超长如何优化时?对方显然不是问你那个数据类型表示更大的
整数。对方是问你有没有优化的方法。
8. 面试的整个过程都是在面试,无论对方说“对”或“错”或“表示满意”,都有可
能是误导。
【在 t*****s 的大作中提到】 : 我当时没有保存具体的代码。但是方法大致就是 : int* count_string(wchar *input){ : int* count = new int[65536]; : int i = 0; : while(input[i]!=0) : count[input[i]]++; : return count; : } : 这应该算是bitmap吧。 我没有用hashtable,这里似乎也没必要用hash table吧。因为 : 一开始并没有说字符串很长,所以我就从一个简单的代码开始。后来他说如果字符串很
|
B***i 发帖数: 724 | 47 忍不住跳出来吐槽一下。
工作中少有人会这么写的。
我才面试官的意思是用map reduce的方法。
被面试的时候就要问他 那个字符到底长到什么程度。 如果是T级的话, 就要用并行方
法算了。
【在 t*****s 的大作中提到】 : 我当时没有保存具体的代码。但是方法大致就是 : int* count_string(wchar *input){ : int* count = new int[65536]; : int i = 0; : while(input[i]!=0) : count[input[i]]++; : return count; : } : 这应该算是bitmap吧。 我没有用hashtable,这里似乎也没必要用hash table吧。因为 : 一开始并没有说字符串很长,所以我就从一个简单的代码开始。后来他说如果字符串很
|
W*******e 发帖数: 1268 | 48
哥们,咋觉得你写了个死循环呢
另外那个大数组用的不好,如果只输入几个字符也要分配那么多空间浪费很多。如果你
面的是嵌入式系统,内存总是很有限的。估计人是想你用指针做过动态链表之类的。
【在 t*****s 的大作中提到】 : 我当时没有保存具体的代码。但是方法大致就是 : int* count_string(wchar *input){ : int* count = new int[65536]; : int i = 0; : while(input[i]!=0) : count[input[i]]++; : return count; : } : 这应该算是bitmap吧。 我没有用hashtable,这里似乎也没必要用hash table吧。因为 : 一开始并没有说字符串很长,所以我就从一个简单的代码开始。后来他说如果字符串很
|
x*******5 发帖数: 152 | 49 同意,如果字符串长到什么都放不下(long long, 64bit),这个在现实中很有用吧.
ps. 在google的关于map-reduce的paper
MapReduce: Simplified Data Processing on Large Clusters
中间2.1的example用的就是这个例子:distributed count the frequency of a word
【在 p**o 的大作中提到】 : 第一题map reduce行不?并发行不?非常长就是单机内存不够用吧 : : ascii
|
w*********l 发帖数: 1337 | 50 这些都不是理由。照你这么说fresh phd根本没活路了。
【在 g***l 的大作中提到】 : PHD没工作过,随便有个工作经验的可能就排你前面了,没什么大惊小怪的,以后要注 : 意研究公司的招人广告,尽量发现内部消息,做什么,需要什么样的人,他们需要解决 : 什么问题,现在到了什么阶段,公司里有没有老中,去打探一下情况。很多公司还是很 : 在乎CONNECTION,你的兴趣,热情,有时候可以弥补没经验和技术差一点的欠缺。老中 : 给人的印象是NERDY,只会闷头干活,不关心公司的发展,不爱跟同事交流,缺少 : POSITIVE的ATTITUDE,说话不利索,支支吾吾,这些都需要克服。
|
|
|
t*****s 发帖数: 14 | 51
真心感谢。都是很好的point。
【在 y****n 的大作中提到】 : 1. 对于count出界没做处理,比如某字符出现过10万次 : 2. int对于不同的系统和编译器有不同的长度定义 : 3. 为什么不用unsigned? : 4. 使用数组,对空间造成浪费 : 5. 做题之前应该询问对方:针对空间优化还是针对时间优化? : 6. 没有做输入检查,比如input为NULL : 7. 当对方问如果字符串超长如何优化时?对方显然不是问你那个数据类型表示更大的 : 整数。对方是问你有没有优化的方法。 : 8. 面试的整个过程都是在面试,无论对方说“对”或“错”或“表示满意”,都有可 : 能是误导。
|
t*****s 发帖数: 14 | 52 Map reduce我也提了。但他不是上来就明确提出字符串长度,所以我也是从简单代码开
始。
【在 p**o 的大作中提到】 : 第一题map reduce行不?并发行不?非常长就是单机内存不够用吧 : : ascii
|
m****e 发帖数: 255 | 53 Google indeed is a very snobbish company.
【在 w*********l 的大作中提到】 : 这些都不是理由。照你这么说fresh phd根本没活路了。
|
w****x 发帖数: 2483 | 54
就面试那么点时间考虑这么多问题, 等考虑好了时间也过了!
【在 y****n 的大作中提到】 : 1. 对于count出界没做处理,比如某字符出现过10万次 : 2. int对于不同的系统和编译器有不同的长度定义 : 3. 为什么不用unsigned? : 4. 使用数组,对空间造成浪费 : 5. 做题之前应该询问对方:针对空间优化还是针对时间优化? : 6. 没有做输入检查,比如input为NULL : 7. 当对方问如果字符串超长如何优化时?对方显然不是问你那个数据类型表示更大的 : 整数。对方是问你有没有优化的方法。 : 8. 面试的整个过程都是在面试,无论对方说“对”或“错”或“表示满意”,都有可 : 能是误导。
|
t*****s 发帖数: 14 | 55 没错,但等我提出后面那种方案后,他立刻表示对,然后就进展到下一题。并没有给我
机会讨论这个问题。
不下要读文件
【在 w****x 的大作中提到】 : : 就面试那么点时间考虑这么多问题, 等考虑好了时间也过了!
|
w****t 发帖数: 1237 | 56 有可能是他绝望了赶紧move on寻找你其他闪光点,只可惜似乎第二个也悲剧
【在 t*****s 的大作中提到】 : 没错,但等我提出后面那种方案后,他立刻表示对,然后就进展到下一题。并没有给我 : 机会讨论这个问题。 : : 不下要读文件
|
j*******e 发帖数: 1058 | 57 也许别人内定好了,这个只是走形式,也是有可能的。 |
X****N 发帖数: 376 | 58 You didn't get the first question properly.
When the string is super long, such as 100TB, the interviewer does not
expect you give a solution of long long. He expects you to do the counting
in parallel, ie through multi-machines. You need to explain an algorithm on
how to implement it. BTW, java long is 64bits and should be long enough for
the counting.
During my interviewing experience, I found it is always good practice to
start with an easy question, and add more juice one by one. It will show how
a candidate improves his code with new requirements.
【在 t*****s 的大作中提到】 : 没错,但等我提出后面那种方案后,他立刻表示对,然后就进展到下一题。并没有给我 : 机会讨论这个问题。 : : 不下要读文件
|
w****x 发帖数: 2483 | 59
on
for
how
那也得知道string是怎么存储的吧, 要是就一个file存储的怎么parallel? 可以直接定
位到file的一个position, 而不用从头开始读吗?
【在 X****N 的大作中提到】 : You didn't get the first question properly. : When the string is super long, such as 100TB, the interviewer does not : expect you give a solution of long long. He expects you to do the counting : in parallel, ie through multi-machines. You need to explain an algorithm on : how to implement it. BTW, java long is 64bits and should be long enough for : the counting. : During my interviewing experience, I found it is always good practice to : start with an easy question, and add more juice one by one. It will show how : a candidate improves his code with new requirements.
|
y****n 发帖数: 743 | 60 1. 面试是个淘汰过程,如果多数人都能轻松做到,还面试什么?
2. 面试是个区分的过程,如果被面试者有多年项目经验,应对起来会自如一些。
3. 面试是个上纲上线的过程,你犯了某个错误,对方不会认为是疏忽,他可能认为你
不懂。你不做输入参数检查,对方会认为你没做过项目。很不合理,但30-60分钟的面
试就是这样。
4. 好的面试是需要训练的,经过正确的训练,一般人是能做到的。这样在面试的成功
率上,会大大提高。甚至可以从比你强很多的竞争者的手中抢到Offer。
【在 w****x 的大作中提到】 : : on : for : how : 那也得知道string是怎么存储的吧, 要是就一个file存储的怎么parallel? 可以直接定 : 位到file的一个position, 而不用从头开始读吗?
|
|
|
p*****2 发帖数: 21240 | 61
说的很好。确实是自己做不到不代表别人做不到。
【在 y****n 的大作中提到】 : 1. 面试是个淘汰过程,如果多数人都能轻松做到,还面试什么? : 2. 面试是个区分的过程,如果被面试者有多年项目经验,应对起来会自如一些。 : 3. 面试是个上纲上线的过程,你犯了某个错误,对方不会认为是疏忽,他可能认为你 : 不懂。你不做输入参数检查,对方会认为你没做过项目。很不合理,但30-60分钟的面 : 试就是这样。 : 4. 好的面试是需要训练的,经过正确的训练,一般人是能做到的。这样在面试的成功 : 率上,会大大提高。甚至可以从比你强很多的竞争者的手中抢到Offer。
|
d**********o 发帖数: 279 | 62 我觉得他的意思就是让你用string 来做加法。 string可以直接用string, 也可以用指
针, 总之是没遇到一次加1, 就算是10位数字, 也很快。 |
s**u 发帖数: 2294 | |