|
|
北京爱立信的面试题
1 t/ [ ~1 ^* l) O* y; `! P& j% F* ]; Y: L1 j' N" P
D: k4 l$ `3 u3 D; ]6 d+ a* j9 v北京爱立信的面试题* }( T% O$ N" I: [! X5 a% H
" w3 H2 h6 u4 Y% {/ W7 i$ O笔试题:9 C; |0 L" p% C( D1 s+ n
1 B4 s: M8 g( n1 J- I. l
a, struct与class区别
/ a( M; g; @4 o, Lb, heap与stack的区别,以及标识一下一段程度中一些变量分配在哪里??(局部变量,全局变量,静态变量,常量,malloc出来的变量)
; p6 W2 [2 u1 k/ ]c, 将一个单向链表反转过来的函数
, h1 H& L/ |: {d, 一个string类,没有的拷贝构造函数,然后一段代码中实现了String a=b的拷贝,问程序会发生什么??
& r+ g' n9 b5 K+ Ee, 设计题:设计一个阅读系统,其中有许多文件,并且有的文件大小超过1G,而内存容量是2G,内存可容许的最大可导入文件大小不能超过1G,请问如何设计这样一个系统??& S* s: _% B' F2 A( L0 Y2 [+ D
f, 实现一个iota的函数? S9 L7 O4 Z: {/ ?$ S8 d( Q
g, 在C++中调用c程序为什么需要C extern关键字
?" _. W% }# x N3 y
. K) u( Z/ J% ]2 k7 C工程师面谈:
# o) Y: ]7 ^% R% g7 A
0 h+ X6 |1 Z/ @9 Aa, scpt中的关联需要什么参数( _1 S" o* M( A: y4 k8 P# } C
b,
2 Z. N; Y$ `1 Z' J8 b% H' {
3 f$ D0 T' E" l# Y# B经理面谈:, h2 O' {, x @2 w
a, 一个字典系统,有1000000个单词,找出那些字母一样,只是顺序不一样的单词,分类整理(例如:pot, opt, pto, etc)
9 F* c2 m# C$ k" l6 r9 ob,有着良好的背景,技术思路非常不错,但可能最近两年在做测试,对编程可能稍显生疏
3 m9 p* u* R3 _. u% _' j8 ?2 H' A: b e5 D+ d$ j! }
英语:, S2 V9 Z$ A4 O' W8 ], |
! D7 a. Q, U3 \: {
a, 说说你的缺点???
) `5 Z3 x2 {5 l: g, f8 b5 tb, 说说你的优点???5 d5 H. S- @; R; B( L3 s9 h
c, 说说你认为对你印象最深刻的事?
& @7 `1 I5 H$ Kd, 为什么想换工作??( R \6 d7 J& c5 u1 n
e, 比较一下你了解的五个城市(宜昌,荆州,武汉,北京,青岛),你更偏向于哪个城市??) h6 [' d6 X6 K9 _
: |9 x+ z2 q! [ N q& `% _1 s
部分答案:
. y: d+ C4 J7 d3 w: i0 w* ^- ~" H& k6 @4 g$ O
1, 关键字 extern "C" 说明8 `1 Y9 R) w9 ~- C& Q8 W4 j
) f* l- j9 w- |8 u J8 U$ B==> C与C++对函数名的处理是不一样的,在C++中会对函数名编译时加一些修饰符用以区分函数的重载等问题
) W+ ~! ]: d% D# }+ r==> C编译的函数库,C++中声明与调用时,应指定extern "C"关键字,这样保证C++在编译时仍然采用C的方式编译函数名
$ `6 C+ ]" x( N* Q7 j2 P4 J0 r==> C++链接时就能找到正确的C函数
4 p# }+ K0 a! |7 S/ ?& H==> extern "C" void f(int a,char b); ---引用C函数
; _7 M- T. P8 z+ `==> extern "C" { #include "cExample.h"} ---引用C文件名
1 G5 M- e2 v6 G% l) u! l/ K; w==> extern "C" int a; ---引用C全局变量
, V- t! i a' z. _6 f: {/ J9 [ Q& I d3 y3 T; `1 t
2, 关键字 struct 与 class 区别:(被问到的题目用绿色标示出来)' j( g2 a( q2 P0 `' d
==> 默认继承权限。class的默认继承关系是private,struct的是public
/ n* W7 u8 W7 Y7 {==> 默认成员权限。class中的默认成员(变量与函数)权限都是private, struct的是public) J: R7 U3 R5 G& X; ]% |& z
==> 模板中struct不能用作模板
: r2 J5 b Q/ c: X
: w4 e" H/ U" t' R3, 指针与引用的区别:
' W2 T9 g8 i) z' Q" `: p$ ?. j4 T==> 指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变$ Q/ o( v4 c( i6 l; W
==> 指针是一个变量,编译时会分配内存区域。引用只是一个别名,不分配内存区域
a1 i" R! e0 Q- K. \0 {: Z==> sizeof(指针)通常为4, sizeof(引用)为对象地址空间
) i1 L$ P, p2 L, R7 i- j) W8 D. ?% z. _$ o& }+ {' {9 i
4, socket中的recv/send阻塞与非阻塞区别% ?' r }8 G. z! c
==> recv/send 参数中都会指定length
$ }+ O: Z; u0 r' S, L6 ]1 N==> 阻塞式send: 拷到发送缓冲区,如果缓冲区满,则需等待直到指定长度的数据发送到缓冲区5 e8 M5 ?, X* ]" x8 f O; E( K1 c
==> 非阻塞式send: 一直拷贝,如果缓冲区满,也立即返回,并不等待。
7 \$ o+ H( o) j5 J: _3 {: t==> 阻塞式recv: 直到接到到指定长度的数据为止1 k$ S6 v& M7 m" w+ v
==> 非阻塞式recv: 立即返回,不管缓冲区里是否有数据,或者数据是否够指定长度,都立即返回$ x1 U+ e: |, N! _2 D6 J( p+ h( I
& B8 u y: ~6 r, @ F
5, main函数之前还有代码吗?2 ] H N. Z1 @
: o* j5 W& M: ?) n4 xmain函数之前还有一些全局变量的初始化,对象的构造,main函数退出后会有全局变量的析构等9 J2 h. v# L% K( F" I
( [) x; V" Y4 Y. x9 K4 `, K
, x) ]1 i# a5 N- L
爱立信面经:topic问题9 E8 d4 S2 m) Q/ n% ^9 i
http://bbs.aftjob.com/thread-289744-1-1.html1 q. I0 D: `9 _9 o) h
爱立信最新面经,分享给大家,希望有用!- V# d) K' w# Z6 O4 y4 Z
http://bbs.aftjob.com/thread-781023-1-1.html
- D* i5 I. r+ q# _+ y2 S爱立信2010年实习面试
6 O. N/ _1 b% D3 H6 S4 I7 B; W+ Mhttp://bbs.aftjob.com/thread-610327-1-1.html7 A7 s* R ^/ [; ?
* a( ~9 ?, v2 F% w2 g, u爱立信俱乐部:http://bbs.aftjob.com/group-298-1.html |
|