|
|
北京爱立信的面试题( V3 `, S2 n4 q1 T x6 q4 ~" K
) ]% z4 l; F! {2 _4 O
: ~/ N2 ^& f- q3 n# b( [0 ]
北京爱立信的面试题
2 I3 B! T- G) j0 g
l) m, A" H& G7 p: i6 y, R8 t Q% [笔试题:
' i7 n {2 y8 U$ ^, I
4 \/ e K- R6 xa, struct与class区别4 v! Z _5 u. M5 b3 r
b, heap与stack的区别,以及标识一下一段程度中一些变量分配在哪里??(局部变量,全局变量,静态变量,常量,malloc出来的变量)
# k- U. B% H5 Y& wc, 将一个单向链表反转过来的函数1 K3 p% ~" |( s( i& e2 O+ K
d, 一个string类,没有的拷贝构造函数,然后一段代码中实现了String a=b的拷贝,问程序会发生什么??
. P7 F4 _9 q0 Y$ q8 R/ V4 de, 设计题:设计一个阅读系统,其中有许多文件,并且有的文件大小超过1G,而内存容量是2G,内存可容许的最大可导入文件大小不能超过1G,请问如何设计这样一个系统??0 @/ i. p1 Y0 j" L$ u
f, 实现一个iota的函数?
5 m5 C* i% A- m: u6 eg, 在C++中调用c程序为什么需要C extern关键字1 n6 C1 B1 A8 }7 r& v$ J
8 w X, ]* X6 y( ~. m工程师面谈:: _0 \. N7 \. Z* ?! W
% [/ S! A. M- e6 I
a, scpt中的关联需要什么参数: m8 P/ [, H x$ g) h: y
b,6 g/ a+ l0 H% u
, H* {% M0 L. a: G2 {- X0 D
经理面谈:4 ?' ]* s7 I( C$ y6 b
a, 一个字典系统,有1000000个单词,找出那些字母一样,只是顺序不一样的单词,分类整理(例如:pot, opt, pto, etc)* d8 \* I- @5 }) }* d
b,有着良好的背景,技术思路非常不错,但可能最近两年在做测试,对编程可能稍显生疏
0 c+ t. O: \* e; v @; g/ A! n1 ^0 S) Z- C
英语:
1 q% {7 x5 \. i7 Y; ?: p) U3 t* R# Z1 n
a, 说说你的缺点???
4 d: B& w# |. Z2 t$ Lb, 说说你的优点???. m0 Y3 z6 @4 ]2 n" F. ?! ]
c, 说说你认为对你印象最深刻的事?
( `( ^# W0 |8 k& ?' f7 W3 t: V) I: od, 为什么想换工作??' X3 g4 R b4 t/ S
e, 比较一下你了解的五个城市(宜昌,荆州,武汉,北京,青岛),你更偏向于哪个城市??
5 U+ B) x/ C" Z5 K0 w# {+ D& @& `# q) R% R) O
部分答案:& j0 Z# W9 k- p
H+ e! i5 j4 N' F% z1, 关键字 extern "C" 说明
' d- R. `1 X' z
7 H ~9 T% V% W+ h& T c==> C与C++对函数名的处理是不一样的,在C++中会对函数名编译时加一些修饰符用以区分函数的重载等问题
0 _! t$ w' P+ e5 E0 o7 x6 Q==> C编译的函数库,C++中声明与调用时,应指定extern "C"关键字,这样保证C++在编译时仍然采用C的方式编译函数名
B$ u, v( [. ^- x! H2 h( i" A==> C++链接时就能找到正确的C函数
i; J# X8 I z! |* u==> extern "C" void f(int a,char b); ---引用C函数
5 L9 o5 M/ _! w- `! K9 Y, {3 h==> extern "C" { #include "cExample.h"} ---引用C文件名5 w1 D" k5 R* y5 h4 o) \' e# D1 s- ?
==> extern "C" int a; ---引用C全局变量+ I) r4 V2 ]- ]4 x; U8 f; i! l
& F$ R4 Z$ b5 c
2, 关键字 struct 与 class 区别:(被问到的题目用绿色标示出来)0 T* Q$ P) _& w
==> 默认继承权限。class的默认继承关系是private,struct的是public
) J. ]( }+ L! K4 p==> 默认成员权限。class中的默认成员(变量与函数)权限都是private, struct的是public
+ l% ?" v! x ?8 i' O: Y==> 模板中struct不能用作模板7 S# O% K2 \7 e. t+ _& e" A% ]! j
' j, s! f2 u' D9 H q! w2 G) ^3 D% W6 s3, 指针与引用的区别:
c7 M2 Y% B% m$ J" t8 f==> 指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变
5 a" K$ p. x+ J& @3 b. j* L, j==> 指针是一个变量,编译时会分配内存区域。引用只是一个别名,不分配内存区域5 D9 Z) b9 f* O: ^- A' H
==> sizeof(指针)通常为4, sizeof(引用)为对象地址空间' H- F/ ^3 \1 _, F/ l) Y$ l( ]
- q' g- I; f+ v4 Q
4, socket中的recv/send阻塞与非阻塞区别% u$ @5 P) |' U4 d! o
==> recv/send 参数中都会指定length
3 P! Z2 R0 Z$ G/ H' d5 f: x==> 阻塞式send: 拷到发送缓冲区,如果缓冲区满,则需等待直到指定长度的数据发送到缓冲区
g/ q' x7 R7 Y0 J# F1 s==> 非阻塞式send: 一直拷贝,如果缓冲区满,也立即返回,并不等待。9 j! A. H5 \( b) H0 z
==> 阻塞式recv: 直到接到到指定长度的数据为止
, l) s/ Q( m6 Q==> 非阻塞式recv: 立即返回,不管缓冲区里是否有数据,或者数据是否够指定长度,都立即返回. l# g7 I3 F& H! Z/ e
1 `2 K: e4 a9 Z* o/ I9 U
5, main函数之前还有代码吗?& t( ^4 @) P9 i: a3 \" P
( p" |4 n) p) t {* x
main函数之前还有一些全局变量的初始化,对象的构造,main函数退出后会有全局变量的析构等
3 V% \6 }0 V. }: I# `8 k r
9 N( p& m1 w @9 z" A- M2 A& H
6 R8 R. `% |1 n' m0 e爱立信面经:topic问题
. Y R. k. X; x+ D9 g+ \) `http://bbs.aftjob.com/thread-289744-1-1.html
0 ]! E: U+ L& b* k/ z( }7 x爱立信最新面经,分享给大家,希望有用!% W, s. q; d2 ]
http://bbs.aftjob.com/thread-781023-1-1.html2 |: E* q$ t9 s ~
爱立信2010年实习面试
8 e& X {6 N( t: t0 D- _7 ihttp://bbs.aftjob.com/thread-610327-1-1.html/ v( K1 n" ^1 G) }" F% Z/ p
- S) x4 m) |+ q4 {6 h
爱立信俱乐部:http://bbs.aftjob.com/group-298-1.html |
|