i******a 发帖数: 11 | 1 个人背景是fresh cs PhD。面试挺顺利,感觉都不错,主要围绕简历上的项目讨论。但
不幸被拒。Hiring manager说 definitely impressed with your interview,但只有
一个职位。说是把我推荐给其他组了。 这个是客气话不? 这种还有戏么?Recruiter
电话里也说过我被推荐给其他组了,但是都快一个月了,也没消息。Recruiter也从不
回email。是不是还没有其他组表示感兴趣? Anyway, move on了。
1. Read code to say which c routine function it is. Interviewer want to see
how you understand a program.
00009 void *
00010 f1(register const void *p1, register const void *p2,
00011 register size_t n1, register size_t n2,
00012 int (*f2)(const void *, const void *))
00013 {
00014 register const void *p3;
00015 register int n3;
00016
00017 while (n1 > 0) {
00018 p3 = (char *)p2 + n2 * (n1 >> 1);
00019 if ((n3 = (*f2)(p1, p3)) == 0)
00020 return (void *)p3;
00021 if (n3 >= 0) {
00022 p2 = (char *)p3 + n2;
00023 n1 = (n1 - 1) >> 1;
00024 } else
00025 n1 >>= 1;
00026 }
00027 return (void *)NULL;
00028 }
2. Design pattern used in your project.
3. Data structure used in your project?
4. Find the number of leading zero for a 64 bit long, given a function to
find the position of first set bit in a 32 bit integer.
4. Design a library routine to set a bit in a byte array.
5. Hex, Oct and binary of an integer.
6. What is register? Why register?
7. What is sizeof? Why sizeof?
8. x*7 without a multiplier in at least two ways.
9. What is provided by operating system?
9. Static keyword in c c++.
10. What is the difference between tcp and udp ? What is the same?
11. What is icmp? How to implement ping? |
g*******s 发帖数: 2963 | 2 第8题我在别家被问过一模一样的,不过没有要两种方法
lz写的是哪两种方法? |
r**h 发帖数: 1288 | 3 x + (x<<1) + (x<<2)
与
(x<<3) - x
算两种方法吗
【在 g*******s 的大作中提到】 : 第8题我在别家被问过一模一样的,不过没有要两种方法 : lz写的是哪两种方法?
|
g*******s 发帖数: 2963 | 4 哦,看错了。我被问道的是不允许用算术运算符。
【在 r**h 的大作中提到】 : x + (x<<1) + (x<<2) : 与 : (x<<3) - x : 算两种方法吗
|
c********p 发帖数: 1969 | |
g*********e 发帖数: 14401 | 6
那怎么做?
【在 g*******s 的大作中提到】 : 哦,看错了。我被问道的是不允许用算术运算符。
|
y******e 发帖数: 193 | 7 没有什么特别的了,fiscal year将近, 最近hiring freeze了。 估计要过了9月以后
才会好点。 |
g*******s 发帖数: 2963 | 8 先写加法。用xor和&之类的
【在 g*********e 的大作中提到】 : : 那怎么做?
|
g*******s 发帖数: 2963 | 9 // compute i times j without arithmetic operators
int add(int i, int j)
{
int carry = i;
int sum = j;
// keep adding sum and carry
while(carry)
{
int temp = sum;
sum = temp ^ carry;
carry = temp & carry;
carry <<= 1;
}
return sum;
}
int times(int i, int j)
{
if(j==2)
return add(i,i);
return add(i, times(i, j-1));
}
【在 g*********e 的大作中提到】 : : 那怎么做?
|
r**h 发帖数: 1288 | 10 def add(a, b):
while b > 0:
a, b = a^b, (a&b)<<1
return a
不过不适用于负数
不知道负数的时候有什么办法吗?
【在 g*********e 的大作中提到】 : : 那怎么做?
|
|
|
i*****k 发帖数: 102 | 11 请问楼主面的是哪个组呢
Recruiter
see
【在 i******a 的大作中提到】 : 个人背景是fresh cs PhD。面试挺顺利,感觉都不错,主要围绕简历上的项目讨论。但 : 不幸被拒。Hiring manager说 definitely impressed with your interview,但只有 : 一个职位。说是把我推荐给其他组了。 这个是客气话不? 这种还有戏么?Recruiter : 电话里也说过我被推荐给其他组了,但是都快一个月了,也没消息。Recruiter也从不 : 回email。是不是还没有其他组表示感兴趣? Anyway, move on了。 : 1. Read code to say which c routine function it is. Interviewer want to see : how you understand a program. : 00009 void * : 00010 f1(register const void *p1, register const void *p2, : 00011 register size_t n1, register size_t n2,
|
r*********n 发帖数: 4553 | 12 为什么不适用于负数呢?
在c/c++里面负数用two's complement表示,我run了下这个程序,输入是负数,结果也
是正确的。
不过不太理解这些题的意义,cpu能一下就算出来的东西,非要写loop来实现。
【在 r**h 的大作中提到】 : def add(a, b): : while b > 0: : a, b = a^b, (a&b)<<1 : return a : 不过不适用于负数 : 不知道负数的时候有什么办法吗?
|
i******a 发帖数: 11 | 13 面的是corp research。
现在又收到CDMA的面试邀请。这个。。。。算是浪费资源不 面了又面,就不能直接发
offer么 呵呵
【在 i*****k 的大作中提到】 : 请问楼主面的是哪个组呢 : : Recruiter : see
|
g*********e 发帖数: 14401 | 14
那就用c++模拟门电路运算得了
【在 r**h 的大作中提到】 : def add(a, b): : while b > 0: : a, b = a^b, (a&b)<<1 : return a : 不过不适用于负数 : 不知道负数的时候有什么办法吗?
|
i******a 发帖数: 11 | 15 个人背景是fresh cs PhD。面试挺顺利,感觉都不错,主要围绕简历上的项目讨论。但
不幸被拒。Hiring manager说 definitely impressed with your interview,但只有
一个职位。说是把我推荐给其他组了。 这个是客气话不? 这种还有戏么?Recruiter
电话里也说过我被推荐给其他组了,但是都快一个月了,也没消息。Recruiter也从不
回email。是不是还没有其他组表示感兴趣? Anyway, move on了。
1. Read code to say which c routine function it is. Interviewer want to see
how you understand a program.
00009 void *
00010 f1(register const void *p1, register const void *p2,
00011 register size_t n1, register size_t n2,
00012 int (*f2)(const void *, const void *))
00013 {
00014 register const void *p3;
00015 register int n3;
00016
00017 while (n1 > 0) {
00018 p3 = (char *)p2 + n2 * (n1 >> 1);
00019 if ((n3 = (*f2)(p1, p3)) == 0)
00020 return (void *)p3;
00021 if (n3 >= 0) {
00022 p2 = (char *)p3 + n2;
00023 n1 = (n1 - 1) >> 1;
00024 } else
00025 n1 >>= 1;
00026 }
00027 return (void *)NULL;
00028 }
2. Design pattern used in your project.
3. Data structure used in your project?
4. Find the number of leading zero for a 64 bit long, given a function to
find the position of first set bit in a 32 bit integer.
4. Design a library routine to set a bit in a byte array.
5. Hex, Oct and binary of an integer.
6. What is register? Why register?
7. What is sizeof? Why sizeof?
8. x*7 without a multiplier in at least two ways.
9. What is provided by operating system?
9. Static keyword in c c++.
10. What is the difference between tcp and udp ? What is the same?
11. What is icmp? How to implement ping? |
g*******s 发帖数: 2963 | 16 第8题我在别家被问过一模一样的,不过没有要两种方法
lz写的是哪两种方法? |
r**h 发帖数: 1288 | 17 x + (x<<1) + (x<<2)
与
(x<<3) - x
算两种方法吗
【在 g*******s 的大作中提到】 : 第8题我在别家被问过一模一样的,不过没有要两种方法 : lz写的是哪两种方法?
|
g*******s 发帖数: 2963 | 18 哦,看错了。我被问道的是不允许用算术运算符。
【在 r**h 的大作中提到】 : x + (x<<1) + (x<<2) : 与 : (x<<3) - x : 算两种方法吗
|
c********p 发帖数: 1969 | |
g*********e 发帖数: 14401 | 20
那怎么做?
【在 g*******s 的大作中提到】 : 哦,看错了。我被问道的是不允许用算术运算符。
|
|
|
y******e 发帖数: 193 | 21 没有什么特别的了,fiscal year将近, 最近hiring freeze了。 估计要过了9月以后
才会好点。 |
g*******s 发帖数: 2963 | 22 先写加法。用xor和&之类的
【在 g*********e 的大作中提到】 : : 那怎么做?
|
g*******s 发帖数: 2963 | 23 // compute i times j without arithmetic operators
int add(int i, int j)
{
int carry = i;
int sum = j;
// keep adding sum and carry
while(carry)
{
int temp = sum;
sum = temp ^ carry;
carry = temp & carry;
carry <<= 1;
}
return sum;
}
int times(int i, int j)
{
if(j==2)
return add(i,i);
return add(i, times(i, j-1));
}
【在 g*********e 的大作中提到】 : : 那怎么做?
|
r**h 发帖数: 1288 | 24 def add(a, b):
while b > 0:
a, b = a^b, (a&b)<<1
return a
不过不适用于负数
不知道负数的时候有什么办法吗?
【在 g*********e 的大作中提到】 : : 那怎么做?
|
i*****k 发帖数: 102 | 25 请问楼主面的是哪个组呢
Recruiter
see
【在 i******a 的大作中提到】 : 个人背景是fresh cs PhD。面试挺顺利,感觉都不错,主要围绕简历上的项目讨论。但 : 不幸被拒。Hiring manager说 definitely impressed with your interview,但只有 : 一个职位。说是把我推荐给其他组了。 这个是客气话不? 这种还有戏么?Recruiter : 电话里也说过我被推荐给其他组了,但是都快一个月了,也没消息。Recruiter也从不 : 回email。是不是还没有其他组表示感兴趣? Anyway, move on了。 : 1. Read code to say which c routine function it is. Interviewer want to see : how you understand a program. : 00009 void * : 00010 f1(register const void *p1, register const void *p2, : 00011 register size_t n1, register size_t n2,
|
r*********n 发帖数: 4553 | 26 为什么不适用于负数呢?
在c/c++里面负数用two's complement表示,我run了下这个程序,输入是负数,结果也
是正确的。
不过不太理解这些题的意义,cpu能一下就算出来的东西,非要写loop来实现。
【在 r**h 的大作中提到】 : def add(a, b): : while b > 0: : a, b = a^b, (a&b)<<1 : return a : 不过不适用于负数 : 不知道负数的时候有什么办法吗?
|
i******a 发帖数: 11 | 27 面的是corp research。
现在又收到CDMA的面试邀请。这个。。。。算是浪费资源不 面了又面,就不能直接发
offer么 呵呵
【在 i*****k 的大作中提到】 : 请问楼主面的是哪个组呢 : : Recruiter : see
|
g*********e 发帖数: 14401 | 28
那就用c++模拟门电路运算得了
【在 r**h 的大作中提到】 : def add(a, b): : while b > 0: : a, b = a^b, (a&b)<<1 : return a : 不过不适用于负数 : 不知道负数的时候有什么办法吗?
|
m**********g 发帖数: 153 | 29 第一题是什么 c routine? 楼主 或大侠指教
【在 g*******s 的大作中提到】 : 第8题我在别家被问过一模一样的,不过没有要两种方法 : lz写的是哪两种方法?
|
m********x 发帖数: 103 | 30 同问,没看懂啊,请大牛指示
【在 m**********g 的大作中提到】 : 第一题是什么 c routine? 楼主 或大侠指教
|