c++工程师面试问题
面试时如何选择搭配饰物?
领带:求职者不可能戴了一条漂亮的领带而获得一个职位,但是可以肯定的是,如果戴了一条幼稚可笑的领带就会使你失去这个职位。所以,不要小看配饰的作用, “精准”是关键。选择领带时以真丝为好,不要使用合成织物和亚麻,前者太过随便,后者容易缩水,而且廉价的领带打不出美观的结。图案最好是单色,它能够和各种西装、衬衫相配。单色为底,印有规则重复出现的小圆点领带,格调高雅,也可以使用。斜纹的领带最能表现果断和干练。印有品牌logo的领带,在面试中最好不要佩戴,容易让面试官认为你缺乏自信,需要用徽标来证明自己的着装品味.
鞋:面试时最好穿保守颜色的鞋子,一定要把皮鞋擦至光亮,不要穿运动鞋或露趾的凉鞋。男生穿西装时必须配皮鞋,不要穿白袜。女生面试时最好穿中跟包头鞋,切忌穿短丝袜或船袜,应穿裤袜。
包:避免使用纸袋和塑料袋,这种袋子短期的使用效果,会使你显得不够资深、不够权威、不够专业,同时也缺乏长远计划的感觉。男生面试最好带一个公文包,给人留下干练的感觉。女生要注意不要使用休闲购物包或斜背包,选用大方职业化的手提包才是明智之举。
眼镜:如果你戴眼镜,颜色和形状最好能给人稳重、协调的感觉。别戴残旧的眼镜,另外不洁的镜片也会让你有隋性的感觉。应选择不反光、无色的镜片,这样才不会妨碍双方的眼神交流。
首饰:首饰要减至最少。男生戴一块金属的机械表,能增加好印象。女生戴一对耳环和一枚戒指已经足够,耳环不要戴晃荡、夸张的,以免分散考官注意力,耳钉最显大方和有气质。无论男女,皆不宜带手镯饰品。
c++软件工程师面试问题
1、 c++是面向对象的编程语言吗?c++中虚函数(virtual) 是什么?有什么好处?
(1)c++不是纯面向对象的语言,c++是面向对象和过程的,因为c++支持类和过程。
(2)虚函数(virtual)具有传递性,即子类中对父类的虚函数的重写,也是一个虚函数 ,不过函数的参数表也要一样。
(3)可以让成员函数操作一般化,用基类的指针指向不同的派生类的对象时,基类指针调用其虚成员函数,则会调用其真正指向对象的成员函数,而不是基类中定义的成员函数(只要派生类改写了该成员函数)。若不是虚函数,则不管基类指针指向的哪个派生类对象,调用时都会调用基类中定义的那个函数。
2、 谈谈指针和引用的区别?
指针用操作符“*”和“->”,引用使用操作符“&”.
相同点是:指针与引用都是让你间接引用其他对象。
区别:(1). 指针是一个实体,指向一块内存,它的内容是所指内存的地址;而引用仅是个别名,是某块内存的别名。
(2). 引用使用时无需解引用(*),指针需要解引用;
(3). 引用只能在定义时被初始化一次,之后不可变,“从一而终”;指针可变;
(4). 引用没有 const类型,指针有 const类型,const 的指针不可变;
(5). 引用不能为空,指针可以为空;
(6). “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;typeid(t) == typeid(t&) 恒为真,sizeof(t) == sizeof(t&) 恒为真,但是当引用作为成员时,其占用空间与指针相同(没找到标准的规定)。
(7). 指针和引用的自增(++)运算意义不一样;
3. int m = 100,n = 101;
int &k = m;
k = n; //此时k,m值分别是多少 ?
k和m的值都是101,因为k是对m的引用,k值发生变化,m值也发生着变化。
4、 c++中 const修饰符一般用于那几种情况,具体作用是什么?
(1).用常量定义 const int n = 100;
用于常量参数 即 fn(const int & a)
用于常量函数,即类的该函数不修改其状态。
用于返回值
(2).可以定义const常量,具有不可变性; 便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患; 可以保护被修饰的东西,防止意外的修改,增强程序的健壮性;为函数重载提供了一个参考; 可以节省空间,避免不必要的内存分配;提高了效率。 编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。
5、 你在程序代码中用assert吗?assert一般用于做什么?
(1) 是我常用。
(2)主要用于debug下断言,即假设一定是这样的,否则就是错误的。例如 asser ( a > 100 );
6、 i++ 相比 ++i 哪个更高效?为什么?
答:(1)++i 比 i++效率高。
(2)i++要多调用一次类的构造和析够函数
7、 windows平台下网络编程有哪几种网络编程模型?你最熟悉的是哪种?并对他们作个比较?
(1)有阻塞,select,基于窗体的事件模型,事件模型,重叠模型,完成端口模型。
(2)我最熟悉的是事件模型。
(3)除了阻塞模型外,其他都是非阻塞模型,其中效率最高的是完成端口模型,尤其在windows下服务器最合适了。
做客户端一般用事件模型了,select,在window和like unix都可以使用。
8、 tcp进行传输时,接收方怎么告诉发送方“我已经处理不过来了,先不要再发数据给我。”
答:接受方给发送方发一个通知数据包,该通知包让发送方暂停数据的发送,或方慢发送。等接受方处理完毕后,再发一个恢复的通知数据包。
9、 设计udp网络协议包设计 包多大合适,为什么?
答:最好设计成mtu的大小,mtu是maximum transmission unit的缩写。意思是网络上传送的最大数据包。这样的话传输速度会快。
10、 线程有什么好处和坏处,什么情况下不需要用线程?什么情况下用线程能增加效率?
答:多线程的使用于有多个任务需要同时的执行,能使同时执行多个任务。在这种情况下是用线程会提高效率。
在单个任务下不需要用线程,一般情况如果有个很占时间的任务需要去做,这是就要用的线程了,但它也会带来麻烦,即多个线程的同步问题。
上一篇:最幽默的面试问题
下一篇:美国使馆面试问题分析