北京爱立信的面试题及流程

转自:http://hi.baidu.com/tantea/blog/item/909931aeccfb5df1faed50fe.html

 

笔试题:

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函数退出后会有全局变量的析构等

 

你可能感兴趣的:(面试题集(C/C++),面试,struct,class,c,string,socket)