由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 狗狗家面筋
相关主题
感觉刷题时代真的快过去了10分钟前的G家电面面经
面经-facebook, amazon,telenav, quantcast两UINT数相乘,再加上一个UINT数,最少需要多少个bit?
谁给讲讲test-and-set怎么实现mutex?Splunk面经 (转载)
问一个facebook的电面题微软面试题
再请教个:C变长参数的传递问题multi-threading guru们
atoi的溢出处理的想法Amazon, too.
递归多少层会stackoverflow?请教几个面试问题
BB 一个电面题请教两个面试题
相关话题的讨论汇总
话题: ptr话题: eax话题: dword话题: mov话题: ds
进入JobHunting版参与讨论
1 (共1页)
B***n
发帖数: 84
1
悲剧了,贴出来攒点人品
顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
一跳。
1. switch的工作原理流程。
2. 估计挂在这里了。
1). 生死棋盘游戏。
我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
法吗?
2). 生成迷宫,基本上不怎么会。
我先说随机生成0/1。但可能会出现迷宫不可解的情况,然后我就差不多挂了。
求更好方法。
3. 从文件中读入记录,然后生成树,计算pathsum,
文件记录格式,node, parent, weight.
然后讨论一些特殊的情况。
4. LRU实现,我其中用的了map,顺便写一个hash table实现map。
我其中有一行出现了bug,删除的时候忘记更新map了。
5. 实现memcpy,这个比较没头绪,不知道要考啥,先写一个最简单的
大概是 *dst = *src, 之类的,然后问怎么优化让他更快点,
因为刚开始用的是 char 的指针,我说把指针变成 uint_32t 会更快点,当然也可以
uint_64t了,
有什么别的建议吗?
e********2
发帖数: 495
2
都是非常规题啊,觉得你答得不错,可能是长的不怎么样的缘故。

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

s***k
发帖数: 12
3
生成迷宫不常见吧

【在 e********2 的大作中提到】
: 都是非常规题啊,觉得你答得不错,可能是长的不怎么样的缘故。
m**********g
发帖数: 153
4
谢谢楼主!
这些题目确实很考验水平的, 楼主应该是有不少工作经验的。 因为他家申请的人太多
, 可能只要很出彩或者很match的

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

f******s
发帖数: 25
5
memcpy 不解决地址overlap的情况, memmove才会考虑
生成迷宫,好像design pattern里面有例子,不过挺复杂的。。。
k*****o
发帖数: 43
6
mark
x******9
发帖数: 473
7
这个迷宫太非主流了。
记得是union-find,从来没实现过.....

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

c********r
发帖数: 286
8
mark
E******g
发帖数: 204
9
请问楼主是fresh graduate, 还是有若干年工作经验呢?题目感觉好难啊!

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

r****c
发帖数: 2585
10
生成迷宫对迷宫有要求吗?如果没有的话就先找一个path,随机取往右往下,path好了
以后在开始在path上得点随机加点
相关主题
atoi的溢出处理的想法10分钟前的G家电面面经
递归多少层会stackoverflow?两UINT数相乘,再加上一个UINT数,最少需要多少个bit?
BB 一个电面题Splunk面经 (转载)
进入JobHunting版参与讨论
s******t
发帖数: 229
11
请问生死棋盘是什么?
A*********c
发帖数: 430
12
据我观察,G 家的题目variance 太大了。碰上不同的人,出的题目真是天上地下。
lz的题都是高级题。Bless!

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

d****n
发帖数: 12461
13
int[] arr=new int[10];
memcpy(arr,arr+2,5);
这个怎么解?

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

l*****u
发帖数: 20
14
神马是生死棋盘。。。
k***u
发帖数: 41
15
生成迷宫这个看起来挺有意思,想到一个简单思路:
假设enter在左下角,exit在右上角。
从enter的点开始,看看四周有哪些点可以到达,然后随机生成下一步,比如当前正在
起点处,那么只有往上走和往右走两种选择,就跑一个2种结果的random generator。
后面每一步都做同样的随机选择,当然这个过程中要记录哪些已经走过了。
另外如果我们碰到了第一行的元素,那么我们只能往右或者往下(否则无解)
同样的,如果我们碰到了最后一列,我们只能往上或者往左(否则无解)
当我们到达exit之后,这条路径就是迷宫的解。然后我们给所有的其他方块随机生成0/
1。
w********s
发帖数: 1570
16
memcpy那题,
简单来说就是,一句汇编实现的。
REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
你可以问一下那个面试的,还有啥更快的么?

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

r*****b
发帖数: 310
17
Will this cause any array out of boundary problem, if the array size cannot
be divided by sizeof(DWORD)?

【在 w********s 的大作中提到】
: memcpy那题,
: 简单来说就是,一句汇编实现的。
: REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
: 你可以问一下那个面试的,还有啥更快的么?

r*****b
发帖数: 310
18
Here are some links on Maze generation:
http://www.4ngel.net/article/17.htm

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

w********s
发帖数: 1570
19
switch基本上就是
CMP XXX, VALUE
JUMP XXXXXX
举个例子,
void dummy(int s)
{
switch (s)
{
case 0:
std::cout << "this is 0.";
break;
case 1:
std::cout << "this is 1.";
break;
default:
std::cout << "default.";
break;
}
}
步骤:
parameter s(SS:[EBP+8]) -> EAX
move EAX to the stack
compare the value (s, which is in SS:[EBP-0F4] to switch values 0)
jump if equal (the code for handling case 0)
compare the value to 1
jump if equal
if there is no jump, then the default code executed.
00BC1B85 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00BC1B88 8985 0CFFFFFF MOV DWORD PTR SS:[EBP-0F4],EAX
00BC1B8E 83BD 0CFFFFFF 0 CMP DWORD PTR SS:[EBP-0F4],0
00BC1B95 74 0B JE SHORT 00BC1BA2
00BC1B97 83BD 0CFFFFFF 0 CMP DWORD PTR SS:[EBP-0F4],1
00BC1B9E 74 17 JE SHORT 00BC1BB7
00BC1BA0 EB 2A JMP SHORT 00BC1BCC
00BC1BA2 68 4C78BC00 PUSH OFFSET 00BC784C
; ASCII "this is 0."
00BC1BA7 A1 04A3BC00 MOV EAX,DWORD PTR DS:[0BCA304]
00BC1BAC 50 PUSH EAX
00BC1BAD E8 A2F5FFFF CALL 00BC1154
00BC1BB2 83C4 08 ADD ESP,8
00BC1BB5 EB 28 JMP SHORT 00BC1BDF
00BC1BB7 68 3C78BC00 PUSH OFFSET 00BC783C
; ASCII "this is 1."
00BC1BBC A1 04A3BC00 MOV EAX,DWORD PTR DS:[0BCA304]
00BC1BC1 50 PUSH EAX
00BC1BC2 E8 8DF5FFFF CALL 00BC1154
00BC1BC7 83C4 08 ADD ESP,8
00BC1BCA EB 13 JMP SHORT 00BC1BDF
00BC1BCC 68 3078BC00 PUSH OFFSET 00BC7830
; ASCII "default."
00BC1BD1 A1 04A3BC00 MOV EAX,DWORD PTR DS:[0BCA304]
00BC1BD6 50 PUSH EAX
00BC1BD7 E8 78F5FFFF CALL 00BC1154

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

s***c
发帖数: 50
20
楼主的题都很难阿。
第3题里:
文件记录格式,node, parent, weight.
那个node是什么?是树的每个节点都有一个id号吗? "parent"就是父节点的id号?那
么如何区分左右孩子?还是说已知是一个排好序的树?

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

相关主题
微软面试题请教几个面试问题
multi-threading guru们请教两个面试题
Amazon, too.Microsoft's interview questions
进入JobHunting版参与讨论
w********s
发帖数: 1570
21
shr bytesToMove, 2
rep movs dword ptr xxx, xxx
对于剩余的byes,继续copy,用的办法差不多是
1004CB15 8D49 00 LEA ECX,[ECX]
1004CB18 8A06 MOV AL,BYTE PTR DS:[ESI]
1004CB1A 8807 MOV BYTE PTR DS:[EDI],AL
1004CB1C 8A46 01 MOV AL,BYTE PTR DS:[ESI+1]
1004CB1F 8847 01 MOV BYTE PTR DS:[EDI+1],AL
1004CB22 8A46 02 MOV AL,BYTE PTR DS:[ESI+2]
1004CB25 8847 02 MOV BYTE PTR DS:[EDI+2],AL
1004CB28 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
1004CB2B 5E POP ESI

cannot

【在 r*****b 的大作中提到】
: Will this cause any array out of boundary problem, if the array size cannot
: be divided by sizeof(DWORD)?

w********s
发帖数: 1570
22
扫1遍的时候生成所有node,可以记录到某个map里
扫第二遍的时候生成边。
parent=null的那个是root。

【在 s***c 的大作中提到】
: 楼主的题都很难阿。
: 第3题里:
: 文件记录格式,node, parent, weight.
: 那个node是什么?是树的每个节点都有一个id号吗? "parent"就是父节点的id号?那
: 么如何区分左右孩子?还是说已知是一个排好序的树?

k***u
发帖数: 41
23
酷!和我刚刚想的方法基本思路是一样的。

【在 r*****b 的大作中提到】
: Here are some links on Maze generation:
: http://www.4ngel.net/article/17.htm

q****x
发帖数: 7404
24
啥是生死棋盘?
memcpy不是很经典吗?

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

s***c
发帖数: 50
25
但是如何区分左右孩子节点?
我假设在写文件的时候是按照某个固定顺序(先,中,或者后序)。

【在 w********s 的大作中提到】
: 扫1遍的时候生成所有node,可以记录到某个map里
: 扫第二遍的时候生成边。
: parent=null的那个是root。

k*******r
发帖数: 355
26
楼主能不能再说说什么是生死棋局,听起来很有意思
1 (共1页)
进入JobHunting版参与讨论
相关主题
请教两个面试题再请教个:C变长参数的传递问题
Microsoft's interview questionsatoi的溢出处理的想法
Google Phone Interview递归多少层会stackoverflow?
什么时候需要用双向链表?BB 一个电面题
感觉刷题时代真的快过去了10分钟前的G家电面面经
面经-facebook, amazon,telenav, quantcast两UINT数相乘,再加上一个UINT数,最少需要多少个bit?
谁给讲讲test-and-set怎么实现mutex?Splunk面经 (转载)
问一个facebook的电面题微软面试题
相关话题的讨论汇总
话题: ptr话题: eax话题: dword话题: mov话题: ds