avatar
FB电面面筋顺求refer# JobHunting - 待字闺中
C*y
1
过程比较常规,题目也正常,但是犯了几个不好的错误,深深得惆怅阿。
面试官晚dail 5分钟,一开始都在聊其他的,做过的有意思的事(给他看了自己在aws
上的小游戏),然后聊游戏,最challenge的是什么等等;还有why fb等。
大约过了20分钟,切入coding了。
第一题是isPalindrome,还稍微简化了下:考虑所有的字符,输入串长度不为0。
个人用两个"pointer" 做的,犯的第一个错误是在判断字符相等时莫名的加了return
true..被指出来了。
第二题是整数除法,不能用/, %, *,简化条件:只考虑正整数,但要求返回string。
花了些时间,但最后更新dividend时忘了移位,应该是dividend -= (divisor << pos)
, 自己测的时候小慌,没找出来,最后才补上的。
面完后发现还有一个问题没解决,要求是返回string,但itoa的话返回的是char*。现
在还不确定int->string的最好方法, std::to_string?
感想:很久没面试了,有点不适应节奏;要在面试中做到bugfree不容易
继续加强训练,顺求下LAGT的推荐,上回联系了招工帖的akamai,没有响应。。
copy of history: http://collabedit.com/rdsv7
avatar
d*n
2
谢谢分享,还不错,不要追求完美
avatar
c*p
3
mark
avatar
s*r
4
如果很久没面试,最好不要先找难的面,拿Akamai这样的公司练练手,有感觉了再找难
度高的。
avatar
C*y
5
谢谢指点,从招工帖里求了下Akamai的refer没响应阿。
有何求refer的妙招?

【在 s*****r 的大作中提到】
: 如果很久没面试,最好不要先找难的面,拿Akamai这样的公司练练手,有感觉了再找难
: 度高的。

avatar
C*y
6
过程比较常规,题目也正常,但是犯了几个不好的错误,深深得惆怅阿。
面试官晚dail 5分钟,一开始都在聊其他的,做过的有意思的事(给他看了自己在aws
上的小游戏),然后聊游戏,最challenge的是什么等等;还有why fb等。
大约过了20分钟,切入coding了。
第一题是isPalindrome,还稍微简化了下:考虑所有的字符,输入串长度不为0。
个人用两个"pointer" 做的,犯的第一个错误是在判断字符相等时莫名的加了return
true..被指出来了。
第二题是整数除法,不能用/, %, *,简化条件:只考虑正整数,但要求返回string。
花了些时间,但最后更新dividend时忘了移位,应该是dividend -= (divisor << pos)
, 自己测的时候小慌,没找出来,最后才补上的。
面完后发现还有一个问题没解决,要求是返回string,但itoa的话返回的是char*。现
在还不确定int->string的最好方法, std::to_string?
感想:很久没面试了,有点不适应节奏;要在面试中做到bugfree不容易
继续加强训练,顺求下LAGT的推荐,上回联系了招工帖的akamai,没有响应。。
copy of history: http://collabedit.com/rdsv7
avatar
d*n
7
谢谢分享,还不错,不要追求完美
avatar
c*p
8
mark
avatar
s*r
9
如果很久没面试,最好不要先找难的面,拿Akamai这样的公司练练手,有感觉了再找难
度高的。
avatar
C*y
10
谢谢指点,从招工帖里求了下Akamai的refer没响应阿。
有何求refer的妙招?

【在 s*****r 的大作中提到】
: 如果很久没面试,最好不要先找难的面,拿Akamai这样的公司练练手,有感觉了再找难
: 度高的。

avatar
C*y
11
题目都常规,具体如下
1) 两个有序数组,长度分别为2n, n,将第二个数组并入第一个
2) 一个无序数组,打印和为零的三元组
第一题是leetcode原题,也follow类似的解法,从后向前insert
第二题找出两个数和为target的变种,应该可以用sort做。不过当时给的是用map的解
法,把array value, array index存入map用于查询。
12.19号面的,hr现在都还没回应,有点忐忑,阿三面试官确实让人有些揪心
顺便贴一下当时给的解答,供大家参考和点评
void merger(int[] a, int[] b, int n)
{
int j = n;
int i = n;
while (j > 0) {
if (i < 1 || a[i-1] < b[j-1]) {
// put b into a
A[i+j-1] = B[j-1];
j--;
} else {
A[i+j-1] = A[i-1];
i--;
}
}
}
void printSumZero(vector &v) {
int len = v.size();
map elements;
for (int i = 0; i < len; i++) {
elements[i] = v[i];
}
for (int i = 0; i < len; i++) {
for (int j = i+1; j < len - 1; j++) {
map::iterator it;
it = elements.find(-(v[i]+v[j]));
if (it != elements.end() && it->first != i && it->first != j) {
// print the values;

}
}
}
avatar
T*e
12
bless.
avatar
b*s
13
bless
avatar
x*g
14
第一题貌似边界有点问题。
干净点用个2n-1开始的下标,完了就是一个个填入,直到短数组用完了事。
每次不是从A前面拷就是从B拷。
第二题用map不行吧,数值重复?
bless

【在 C****y 的大作中提到】
: 题目都常规,具体如下
: 1) 两个有序数组,长度分别为2n, n,将第二个数组并入第一个
: 2) 一个无序数组,打印和为零的三元组
: 第一题是leetcode原题,也follow类似的解法,从后向前insert
: 第二题找出两个数和为target的变种,应该可以用sort做。不过当时给的是用map的解
: 法,把array value, array index存入map用于查询。
: 12.19号面的,hr现在都还没回应,有点忐忑,阿三面试官确实让人有些揪心
: 顺便贴一下当时给的解答,供大家参考和点评
: void merger(int[] a, int[] b, int n)
: {

avatar
c*n
15
2)数值重复加点判断条件因该能够区分出来点
avatar
A*c
16
题目十分user friendly啊,Bless!

【在 C****y 的大作中提到】
: 题目都常规,具体如下
: 1) 两个有序数组,长度分别为2n, n,将第二个数组并入第一个
: 2) 一个无序数组,打印和为零的三元组
: 第一题是leetcode原题,也follow类似的解法,从后向前insert
: 第二题找出两个数和为target的变种,应该可以用sort做。不过当时给的是用map的解
: 法,把array value, array index存入map用于查询。
: 12.19号面的,hr现在都还没回应,有点忐忑,阿三面试官确实让人有些揪心
: 顺便贴一下当时给的解答,供大家参考和点评
: void merger(int[] a, int[] b, int n)
: {

avatar
A*c
17
第一题应该可以优化,在B拷贝完之后可以提前停止,不用copy A剩下的元素到自身。
第二题map的算法是, 排序的算法是
所以说排序算法更好。
对于几sum的问题,2sum和4sum有time-space trade-off 的可能,但3sum 排序是最优
。愚见。

【在 C****y 的大作中提到】
: 题目都常规,具体如下
: 1) 两个有序数组,长度分别为2n, n,将第二个数组并入第一个
: 2) 一个无序数组,打印和为零的三元组
: 第一题是leetcode原题,也follow类似的解法,从后向前insert
: 第二题找出两个数和为target的变种,应该可以用sort做。不过当时给的是用map的解
: 法,把array value, array index存入map用于查询。
: 12.19号面的,hr现在都还没回应,有点忐忑,阿三面试官确实让人有些揪心
: 顺便贴一下当时给的解答,供大家参考和点评
: void merger(int[] a, int[] b, int n)
: {

avatar
C*y
18
第一题补充一下,三哥给的例子是长度为2n的数组有效值是前n个数。所以第一个比较
的数是A[n-1], B[n-1],需要填充的位置是A[2n-1]
第二题你说的没错,应该确认下有没有重复值

【在 x****g 的大作中提到】
: 第一题貌似边界有点问题。
: 干净点用个2n-1开始的下标,完了就是一个个填入,直到短数组用完了事。
: 每次不是从A前面拷就是从B拷。
: 第二题用map不行吧,数值重复?
: bless

avatar
C*y
19
你的想法是?
我想的是改变key, 比如变成to_string(v[i]) + to_string(i),看上去有点ugly.

【在 c*********n 的大作中提到】
: 2)数值重复加点判断条件因该能够区分出来点
avatar
C*y
20


【在 A*********c 的大作中提到】
: 第一题应该可以优化,在B拷贝完之后可以提前停止,不用copy A剩下的元素到自身。
: 第二题map的算法是, 排序的算法是
: 所以说排序算法更好。
: 对于几sum的问题,2sum和4sum有time-space trade-off 的可能,但3sum 排序是最优
: 。愚见。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。