Redian新闻
>
好挫的F家面经 (转载)
avatar
好挫的F家面经 (转载)# Joke - 肚皮舞运动
d*f
1
【 以下文字转载自 JobHunting 讨论区 】
发信人: dongogogo776 (dongo), 信区: JobHunting
标 题: 好挫的F家面经
发信站: BBS 未名空间站 (Mon Mar 9 11:46:24 2015, 美东)
毫无准备的情况下收到F家电面
第一次是个同胞面试,题目是给出一个数组s和一个值y,找出s当中最长的sub数组的长
度,使sub数组的sum等于某一个值y。磕磕碰碰,同胞提示了两个关键点做出来了。但
由于做的不是很顺畅,F家决定再让我电面一次。
第二轮遇到一个烙印,由于之前没啥准备,突击了一周的数据结构和算法。没想到烙印
一上来第一个问题居然是问我一个概念问题,什么叫Big and Little Endian。我没答
上来,于是烙印就说算了。我奇怪为啥问这个问题,他说所有熟悉C++的人都应该会这
个。我说我没在简历上写我会C++啊,他说他看到第一行写的就是C++。最后随便给我一
个题叫我写了个binary search结束。
我回头再看我的简历,我的确没有写C++,我只说我有些VC#的经验。想起来真有些郁闷
,其实Big and Little Endian的概念也不复杂,回头看wiki几分钟就搞明白了。
avatar
d*f
2
这个的确黑的比较狠,现在速成的cs ms 95%估计听都没听过,phd50%以上知道但是说
不清

【在 d********f 的大作中提到】
: 【 以下文字转载自 JobHunting 讨论区 】
: 发信人: dongogogo776 (dongo), 信区: JobHunting
: 标 题: 好挫的F家面经
: 发信站: BBS 未名空间站 (Mon Mar 9 11:46:24 2015, 美东)
: 毫无准备的情况下收到F家电面
: 第一次是个同胞面试,题目是给出一个数组s和一个值y,找出s当中最长的sub数组的长
: 度,使sub数组的sum等于某一个值y。磕磕碰碰,同胞提示了两个关键点做出来了。但
: 由于做的不是很顺畅,F家决定再让我电面一次。
: 第二轮遇到一个烙印,由于之前没啥准备,突击了一周的数据结构和算法。没想到烙印
: 一上来第一个问题居然是问我一个概念问题,什么叫Big and Little Endian。我没答

avatar
x*k
3
栽在Big and Little Endian不算黑吧,正规学过c/c++或者计算机架构的都应该知道。

【在 d********f 的大作中提到】
: 这个的确黑的比较狠,现在速成的cs ms 95%估计听都没听过,phd50%以上知道但是说
: 不清

avatar
d*f
4
学过计算机原理的的确应该知道,学过c++的镇不一定,不信翻翻c++ programming
language你看你能找到这个么

【在 x****k 的大作中提到】
: 栽在Big and Little Endian不算黑吧,正规学过c/c++或者计算机架构的都应该知道。
avatar
a*e
5
偶叉,俺这非科班都知道

【在 d********f 的大作中提到】
: 这个的确黑的比较狠,现在速成的cs ms 95%估计听都没听过,phd50%以上知道但是说
: 不清

avatar
z*n
6
不知道endianess的程序员不要也罢。任何一门computer architecture
或者operating system 的课都要讲的东西。

【在 d********f 的大作中提到】
: 这个的确黑的比较狠,现在速成的cs ms 95%估计听都没听过,phd50%以上知道但是说
: 不清

avatar
a*e
7
这其实是硬件
软件的学编译的才需要知道

【在 d********f 的大作中提到】
: 学过计算机原理的的确应该知道,学过c++的镇不一定,不信翻翻c++ programming
: language你看你能找到这个么

avatar
z*n
8
我当年给人出的面试题就是用C或者C++写个程序,find out
the endianess of the system.

【在 d********f 的大作中提到】
: 学过计算机原理的的确应该知道,学过c++的镇不一定,不信翻翻c++ programming
: language你看你能找到这个么

avatar
d*f
9
你这个就是黑心面试官阿,等着被job版报料把

【在 z*****n 的大作中提到】
: 我当年给人出的面试题就是用C或者C++写个程序,find out
: the endianess of the system.

avatar
b*p
10
这个恩底问题写过汇编的都知道。
avatar
N*m
11
学过network programming就应该知道,不用phd

【在 d********f 的大作中提到】
: 这个的确黑的比较狠,现在速成的cs ms 95%估计听都没听过,phd50%以上知道但是说
: 不清

avatar
b*y
12
这个老印的问题很善良, 这都不会确实没法放过。

【在 d********f 的大作中提到】
: 你这个就是黑心面试官阿,等着被job版报料把
avatar
z*n
13
是啊,你不会的都是黑心哈。

【在 d********f 的大作中提到】
: 你这个就是黑心面试官阿,等着被job版报料把
avatar
n*4
14
太挫了,为啥脸家连这水平的也要面?难道机算学真的是物理的尽头吗?

【在 d********f 的大作中提到】
: 你这个就是黑心面试官阿,等着被job版报料把
avatar
d*f
15
全堆程序员很多不都这样么

【在 n****4 的大作中提到】
: 太挫了,为啥脸家连这水平的也要面?难道机算学真的是物理的尽头吗?
avatar
x*o
16
然。

【在 N*****m 的大作中提到】
: 学过network programming就应该知道,不用phd
avatar
x*k
17
对不起,我错了,我的c++是c语言老师教的,请原谅。

【在 d********f 的大作中提到】
: 学过计算机原理的的确应该知道,学过c++的镇不一定,不信翻翻c++ programming
: language你看你能找到这个么

avatar
H*g
18
little endian存储一个字节的时候也是低位在前么?换句话说,磁头读取的时候是先
从最低一位开始读么?
avatar
s*i
19
你的c语言老师太不务正业了,神马东西都敢教

【在 x****k 的大作中提到】
: 对不起,我错了,我的c++是c语言老师教的,请原谅。
avatar
H*g
20
http://en.wikipedia.org/wiki/Bit_numbering
Little-endian CPUs usually employ "LSB 0" bit numbering, however both bit
numbering conventions can be seen in big-endian machines.

【在 H********g 的大作中提到】
: little endian存储一个字节的时候也是低位在前么?换句话说,磁头读取的时候是先
: 从最低一位开始读么?

avatar
z*n
21
你这个跟哪个比特先读取/存储没有任何关系。
多数系统都是LSB 0。但是一个字节的8八个比特如何写入
到一个顺序存储设备里面,只跟读写电路相关,比如
parallel to serial convertor里面的flip-flop是如何
串联的。
再举个例子,不管是big endian还是little endian,他们
向ethernet端口发送一个octet的时候都是LSB first。

是先

【在 H********g 的大作中提到】
: http://en.wikipedia.org/wiki/Bit_numbering
: Little-endian CPUs usually employ "LSB 0" bit numbering, however both bit
: numbering conventions can be seen in big-endian machines.

avatar
a9
22
我怎么觉得endian是跟字节相关的,跟BIT也有关?

是先

【在 H********g 的大作中提到】
: http://en.wikipedia.org/wiki/Bit_numbering
: Little-endian CPUs usually employ "LSB 0" bit numbering, however both bit
: numbering conventions can be seen in big-endian machines.

avatar
N*m
23
蝗虫贴的这个是bit endian

【在 a9 的大作中提到】
: 我怎么觉得endian是跟字节相关的,跟BIT也有关?
:
: 是先

avatar
h*e
24
FB的码农难道不是只管打几个广告,推荐一下前任到你的朋友列表之类的东西吗?
需要这么深刻的背景?
avatar
H*g
25
跟bit顺序没本质联系。我只是觉得把一个数字拆成4段,然后每段翻个身存储欠缺点美
感。
如果是这样存就比较舒服
0x0201=
10000000 01000000
01234567 89abcdef(bit)
lsb=0 Little Endian

【在 a9 的大作中提到】
: 我怎么觉得endian是跟字节相关的,跟BIT也有关?
:
: 是先

avatar
a9
26
每个面试官都有几个拿人题,跟工作不一定有关系。

【在 h******e 的大作中提到】
: FB的码农难道不是只管打几个广告,推荐一下前任到你的朋友列表之类的东西吗?
: 需要这么深刻的背景?

avatar
a9
27
我现在也搞不懂为什么会有这两个endian出现。
内存不是叫“随机存取”吗,难道endian不同还会导致速度不同?

【在 H********g 的大作中提到】
: 跟bit顺序没本质联系。我只是觉得把一个数字拆成4段,然后每段翻个身存储欠缺点美
: 感。
: 如果是这样存就比较舒服
: 0x0201=
: 10000000 01000000
: 01234567 89abcdef(bit)
: lsb=0 Little Endian

avatar
H*g
28
我猜测endian 可能跟可过展性有点关系。little endian的数字0A 00 00 00 不管当8
位, 16位还是32位读都是十进制的10。Big endian就非常不同了。
当然实际上大多数程序是不会需要这个的,数据类型是几位就是几位。

【在 a9 的大作中提到】
: 我现在也搞不懂为什么会有这两个endian出现。
: 内存不是叫“随机存取”吗,难道endian不同还会导致速度不同?

avatar
z*n
29
一看就是没修改过DOS 游戏数据的人
小时候修改过DOS 游戏的都明白这个大小印度人

【在 a9 的大作中提到】
: 我现在也搞不懂为什么会有这两个endian出现。
: 内存不是叫“随机存取”吗,难道endian不同还会导致速度不同?

avatar
m*y
30
嗯,老汉也嚼的找版黑老印黑的太过分了。不过没你这么勇敢说实话,因为老汉怕那帮
答不上Endian的,约不到炮的都跑来反老汉的。老印和外F又不会感激老汉替他们背黑
锅。

【在 b*****y 的大作中提到】
: 这个老印的问题很善良, 这都不会确实没法放过。
avatar
H*g
31
修dos程序的只用知道小印度人,不一定需要知道大印度人。

【在 z*********n 的大作中提到】
: 一看就是没修改过DOS 游戏数据的人
: 小时候修改过DOS 游戏的都明白这个大小印度人

avatar
H*g
32
你这个头上裹手巾的装扮就有点像印度人

【在 m***y 的大作中提到】
: 嗯,老汉也嚼的找版黑老印黑的太过分了。不过没你这么勇敢说实话,因为老汉怕那帮
: 答不上Endian的,约不到炮的都跑来反老汉的。老印和外F又不会感激老汉替他们背黑
: 锅。

avatar
z*n
33
至少知道这么一回事

【在 H********g 的大作中提到】
: 修dos程序的只用知道小印度人,不一定需要知道大印度人。
avatar
z*n
34
较真起来,比特确实有endianness。只不过在并行总线结构下
没有区别。
用C语言定义bit field的时候(包括一些协议栈里面的小于
一个byte的syntax定义)需要考虑bitwise order。

【在 a9 的大作中提到】
: 我怎么觉得endian是跟字节相关的,跟BIT也有关?
:
: 是先

avatar
H*g
35
拿磁力显微镜修硬盘(至少老硬盘)应该也有区别。

【在 z*****n 的大作中提到】
: 较真起来,比特确实有endianness。只不过在并行总线结构下
: 没有区别。
: 用C语言定义bit field的时候(包括一些协议栈里面的小于
: 一个byte的syntax定义)需要考虑bitwise order。

avatar
a9
36
哈哈,我当初真以为是印度人!
我明白印度人,但只是不知道为什么要会有大小印度人出现

【在 z*********n 的大作中提到】
: 一看就是没修改过DOS 游戏数据的人
: 小时候修改过DOS 游戏的都明白这个大小印度人

avatar
z*n
37
我好像记得主要是intel cpu按照小印度人读内存里得数据
sparc按照大印度人读内存里得数据呢?跟具体硬盘没啥区别啊?
不过这东西就是模模糊糊知道个大概就够了,哈哈

【在 H********g 的大作中提到】
: 拿磁力显微镜修硬盘(至少老硬盘)应该也有区别。
avatar
z*n
38
任何顺序存储的介质,任何serial line communication都要考虑
这个问题。

【在 H********g 的大作中提到】
: 拿磁力显微镜修硬盘(至少老硬盘)应该也有区别。
avatar
H*g
39
刚才我还在想,这个被面试的人幸好没说: Sir,you are big Indian,your son is
little Indian。

【在 z*********n 的大作中提到】
: 至少知道这么一回事
avatar
z*n
40
哈哈,
楼主应该回答,tell me the difference between big Chinese and little Chinese,
then I'll tell you.

【在 a9 的大作中提到】
: 哈哈,我当初真以为是印度人!
: 我明白印度人,但只是不知道为什么要会有大小印度人出现

avatar
z*n
41
难道DOS里面不都是小印度人?

【在 a9 的大作中提到】
: 哈哈,我当初真以为是印度人!
: 我明白印度人,但只是不知道为什么要会有大小印度人出现

avatar
a9
42
跟硬件有关吧?我记得intel都是小印度人,ARM是大印度人?

【在 z*****n 的大作中提到】
: 难道DOS里面不都是小印度人?
avatar
H*g
43
我修游戏的时候就can‘t help wondering这么反着存档字节,在硬盘上到底应该是什
么样子。
比如说如果把bit读错位了,那如果是一直低位在前,数字就整体乘个2,如果bit是高
位在前,byte是低位在前,那就全乱套了。

【在 z*********n 的大作中提到】
: 我好像记得主要是intel cpu按照小印度人读内存里得数据
: sparc按照大印度人读内存里得数据呢?跟具体硬盘没啥区别啊?
: 不过这东西就是模模糊糊知道个大概就够了,哈哈

avatar
z*n
44
DOS还有在其他CPU上跑的?ARM也是小印度人

【在 a9 的大作中提到】
: 跟硬件有关吧?我记得intel都是小印度人,ARM是大印度人?
avatar
d*f
45
x86都是小印度

【在 a9 的大作中提到】
: 跟硬件有关吧?我记得intel都是小印度人,ARM是大印度人?
avatar
H*g
46
掏出一个毛笔字作业本和一个钢笔字作业本:Sir,big Chinese的格子里有一个米字形
,little Chinese的格子里没有。

Chinese,

【在 z*********n 的大作中提到】
: 哈哈,
: 楼主应该回答,tell me the difference between big Chinese and little Chinese,
: then I'll tell you.

avatar
a*e
47
蝗虫好高大上,我是股沟了英文词,然后全文翻译成中文,才知道大头小头这个似曾相
识的概念

【在 H********g 的大作中提到】
: 修dos程序的只用知道小印度人,不一定需要知道大印度人。
avatar
z*n
48
sparc是大印度人,只有上cs课用真正sparc unix的时候一遇到过
除此之外绝大多数arch都是小印度人

【在 z*****n 的大作中提到】
: DOS还有在其他CPU上跑的?ARM也是小印度人
avatar
H*g
49
我在今天以前也是不知道这东西叫啥,只知道低位在前。

【在 a****e 的大作中提到】
: 蝗虫好高大上,我是股沟了英文词,然后全文翻译成中文,才知道大头小头这个似曾相
: 识的概念

avatar
z*n
50
数错位数,把刘备的头像修改成了水,各种混乱

【在 H********g 的大作中提到】
: 我修游戏的时候就can‘t help wondering这么反着存档字节,在硬盘上到底应该是什
: 么样子。
: 比如说如果把bit读错位了,那如果是一直低位在前,数字就整体乘个2,如果bit是高
: 位在前,byte是低位在前,那就全乱套了。

avatar
a9
51
avr也是大的

【在 z*********n 的大作中提到】
: sparc是大印度人,只有上cs课用真正sparc unix的时候一遇到过
: 除此之外绝大多数arch都是小印度人

avatar
z*n
52
好像是神马cs 10x的基础课里就有

【在 H********g 的大作中提到】
: 我在今天以前也是不知道这东西叫啥,只知道低位在前。
avatar
z*n
53
哦,没接触过
其实intel早就基本上一统天下了

【在 a9 的大作中提到】
: avr也是大的
avatar
d*f
54
老三还在美国上过cs 10x,难道也是生物转行

【在 z*********n 的大作中提到】
: 好像是神马cs 10x的基础课里就有
avatar
H*g
55
Big Chinese book
Litte Chinese book

【在 H********g 的大作中提到】
: 掏出一个毛笔字作业本和一个钢笔字作业本:Sir,big Chinese的格子里有一个米字形
: ,little Chinese的格子里没有。
:
: Chinese,

avatar
a9
56
arduino就是AVR

【在 z*********n 的大作中提到】
: 哦,没接触过
: 其实intel早就基本上一统天下了

avatar
z*n
57
哦,懒得google了,不认识这个词

【在 a9 的大作中提到】
: arduino就是AVR
avatar
z*n
58
老三是码工,不要跟他说EE的事。

【在 a9 的大作中提到】
: arduino就是AVR
avatar
k*l
59
好吧我承认不是科班出身的
工作中一次debug自己的程序时才发现原来有这个东西
avatar
g*e
60
这也太烂了吧

【在 d********f 的大作中提到】
: 这个的确黑的比较狠,现在速成的cs ms 95%估计听都没听过,phd50%以上知道但是说
: 不清

avatar
t*4
61
楼上的都牛B, 就我以为c++是数学题
avatar
m*i
62
靠,我还真答不上来。不仅如此,什么树啊,图论啊,stack 啊,上厕所啊,哲学家吃
饭啊我都不记得了。

【在 z*****n 的大作中提到】
: 你这个跟哪个比特先读取/存储没有任何关系。
: 多数系统都是LSB 0。但是一个字节的8八个比特如何写入
: 到一个顺序存储设备里面,只跟读写电路相关,比如
: parallel to serial convertor里面的flip-flop是如何
: 串联的。
: 再举个例子,不管是big endian还是little endian,他们
: 向ethernet端口发送一个octet的时候都是LSB first。
:
: 是先

avatar
l*8
63
不大可能吧,但凡读过二进制文件的都应该知道吧。

【在 d********f 的大作中提到】
: 这个的确黑的比较狠,现在速成的cs ms 95%估计听都没听过,phd50%以上知道但是说
: 不清

avatar
d*f
64
老三果然是传说中的全队程序员

【在 z*********n 的大作中提到】
: 哦,懒得google了,不认识这个词
avatar
q*8
65
不能说没听说过,这个概念属于基础中的基础
avatar
h*4
66
软工可能没听说过 cs的要知道 计算机组成原理必讲

【在 q******8 的大作中提到】
: 不能说没听说过,这个概念属于基础中的基础
avatar
r*g
67
re.
不是马工,我就是工作中碰到,要决定别人给的文件是怎么写的。

【在 l******8 的大作中提到】
: 不大可能吧,但凡读过二进制文件的都应该知道吧。
avatar
a*e
68
CPU寄存器高低是定死的
往里填数肯定得知道先后
记得老Mac和x86也是反的

【在 r*g 的大作中提到】
: re.
: 不是马工,我就是工作中碰到,要决定别人给的文件是怎么写的。

avatar
a*e
69
你把16位的寄存器往8位一个地址的内存写,肯定有先后讲究

【在 a9 的大作中提到】
: 我现在也搞不懂为什么会有这两个endian出现。
: 内存不是叫“随机存取”吗,难道endian不同还会导致速度不同?

avatar
q*x
70
one little, two little, three little endians,
four little, five little, six little endians,
...
where is big endian?

【在 d********f 的大作中提到】
: 老三果然是传说中的全队程序员
avatar
d*w
71
很正常的面试题目。比什么DP刷题的那种靠谱多了

【在 z*****n 的大作中提到】
: 我当年给人出的面试题就是用C或者C++写个程序,find out
: the endianess of the system.

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