招聘笔试题

爱立信技术类笔试真题

a, struct与class区别

b, heap与stack的区别,以及标识一下一段程度中一些变量分配在哪里??(局部变量,全局变量,静态变量,常量,malloc出来的变量)

c, 将一个单向链表反转过来的函数

d, 一个string类,没有的拷贝构造函数,然后一段代码中实现了String a=b的拷贝,问程序会发生什么??

e, 设计题:设计一个阅读系统,其中有许多文件,并且有的文件大小超过1G,而内存容量是2G,内存可容许的最大可导入文件大小不能超过1G,请问如何设计这样一个系统??

f, 实现一个iota的函数?

g, 在C++中调用c程序为什么需要C extern关键字

工程师面谈:

a, scpt中的关联需要什么参数

b,

经理面谈:

a, 一个字典系统,有1000000个单词,找出那些字母一样,只是顺序不一样的单词,分类整理(例如:pot, opt, pto, etc)

b,有着良好的背景,技术思路非常不错,但可能最近两年在做测试,对编程可能稍显生疏

英语:

a, 说说你的缺点???

b, 说说你的优点???

c, 说说你认为对你印象最深刻的事?

d, 为什么想换工作??

e, 比较一下你了解的五个城市(宜昌,荆州,武汉,北京,青岛),你更偏向于哪个城市??

部分答案:

1, 关键字 extern “C” 说明

==> C与C++对函数名的处理是不一样的,在C++中会对函数名编译时加一些修饰符用以区分函数的重载等问题

==> C编译的函数库,C++中声明与调用时,应指定extern “C”关键字,这样保证C++在编译时仍然采用C的方式编译函数名

==> C++链接时就能找到正确的C函数

==> extern “C” void f(int a,char b); ---引用C函数

==> extern “C” { #include “cExample.h”} ---引用C文件名

==> extern “C” int a; ---引用C全局变量

2, 关键字 struct 与 class 区别:

==> 默认继承权限。class的默认继承关系是private,struct的是public

==> 默认成员权限。class中的默认成员(变量与函数)权限都是private, struct的是public

==> 模板中struct不能用作模板

3, 指针与引用的区别:

==> 指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变

==> 指针是一个变量,编译时会分配内存区域。引用只是一个别名,不分配内存区域

==> sizeof(指针)通常为4, sizeof(引用)为对象地址空间

4, socket中的recv/send阻塞与非阻塞区别

==> recv/send 参数中都会指定length

==> 阻塞式send: 拷到发送缓冲区,如果缓冲区满,则需等待直到指定长度的数据发送到缓冲区

==> 非阻塞式send: 一直拷贝,如果缓冲区满,也立即返回,并不等待。

==> 阻塞式recv: 直到接到到指定长度的数据为止

==> 非阻塞式recv: 立即返回,不管缓冲区里是否有数据,或者数据是否够指定长度,都立即返回

5, main函数之前还有代码吗?

main函数之前还有一些全局变量的初始化,对象的构造,main函数退出后会有全局变量的析构等

大家都在看