您的位置:首页 > 其它

华为研发实习生(一面)

2016-04-18 14:53 253 查看
时间:2016-04-17

面的技术研发岗,我遇到的这个面试官人比较和蔼,没有问语言类的问题,开始做完自我介绍后,面试官让我从简历中列的项目经历中介绍一个。这个由于自己来讲,所以谈笑风生中过去了。然后面试官问的我都是一些操作系统、组成原理的东西。记录如下:

1、进程通信的方式

这个其实可以分为三个大类:管道、系统IPC(包括消息队列,信号量,共享存储)、SOCKET。

(1) 管道

1)无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。

2)高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。

3)有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。

(2)系统IPC

1)信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。

2)消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。

3)信号 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。

4)共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。

(3)套接字

套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同机器间的进程通信。

2、内存页面置换算法有哪些?

自己只记得有FIFO、LRU了,还有OPT跟SCR。

算法原理稍微一回忆就想起来了,毕竟当年咱也是考408的人。贴个链接大家可以看看,就不再码字了啊。

参考:/article/8000999.html

3、大端模式跟小端模式的区别?

大端模式

所谓的大端模式(Big-endian),是指数据的高字节,保存在内存的低地址中,而数据的低字节,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;
例子:
0000430: e684 6c4e 0100 1800 53ef 0100 0100 0000
0000440: b484 6c4e 004e ed00 0000 0000 0100 0000
在大端模式下,前32位应该这样读: e6 84 6c 4e ( 假设int占4个字节)
记忆方法: 地址的增长顺序与值的增长顺序相同

小端模式
所谓的小端模式(Little-endian),是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。
例子:
0000430: e684 6c4e 0100 1800 53ef 0100 0100 0000
0000440: b484 6c4e 004e ed00 0000 0000 0100 0000
在小端模式下,前32位应该这样读: 4e 6c 84 e6( 假设int占4个字节)
记忆方法: 地址的增长顺序与值的增长顺序相反

4、cache命中率

这个我答错了,答成了内存缺页率。唉

其实这个命中率,就是当执行运算过程中,我需要数据先去cache中取,cache容量有限,可能我这次想要的数据并不在cache中,那么我需要再去主存中再取,cache命中率=(命中cache的次数)/(命中cache的次数+访问主存的次数)。

还有两个公式是求系统的平均访问时间以及访问效率。各位自行百度解决下吧。

5、快速排序算法

这个让在纸上写出伪代码,本人会写。

问完这些问题后,面试官问我有没有什么问题想问他的,我是这么说的“贵公司的技术研发岗并不像其他公司一样分有什么语言,前后台之类的。请问这个是怎么想的?”。面试官说华为招的实习生主要是看基础,要了你后会有个双向选择来定实习的方向。我想这个可能是华为这种公司跟互联网公司不一样的一个地方吧。

后记:华为更注重基础,当然项目最好也有,但不像互联网的招聘分的那么明确,也可能与我的面试官有关。总之大家要报华为的话,计算机的基础知识一定要扎实啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: