|
|
北京爱立信的面试题3 S4 R) H5 d3 ]1 a. T
, a7 v* d! m7 S4 T) H* j; x) Z
! Q. a8 a: K3 |6 ?! [* f( w9 C4 @; V北京爱立信的面试题" X0 h; g! D E; E1 J1 z0 b
! ?. t( L- U5 t) k" |+ l$ u笔试题:( z$ C- E( H' Q5 a; B8 H, }
) l3 a- f! X* f
a, struct与class区别
& B ^( l, V" g, c f4 Z0 `; fb, heap与stack的区别,以及标识一下一段程度中一些变量分配在哪里??(局部变量,全局变量,静态变量,常量,malloc出来的变量)6 ?, T# Z# [& V* ^6 R4 U; U
c, 将一个单向链表反转过来的函数- D2 |' _! o, O" X: M
d, 一个string类,没有的拷贝构造函数,然后一段代码中实现了String a=b的拷贝,问程序会发生什么??
0 W8 v i9 w( m6 |" M' }' Be, 设计题:设计一个阅读系统,其中有许多文件,并且有的文件大小超过1G,而内存容量是2G,内存可容许的最大可导入文件大小不能超过1G,请问如何设计这样一个系统??
% b6 b8 A) w2 W5 \( Wf, 实现一个iota的函数?& D, x5 _0 a) ^$ B) e! f
g, 在C++中调用c程序为什么需要C extern关键字 G: A6 k A' l( L/ w$ o$ l
3 z6 m( R" n) b9 `
工程师面谈:0 [% _$ Z; c% N
, ^: f1 o8 o8 H5 o$ j
a, scpt中的关联需要什么参数 V( T% Z+ J! K9 [7 P. T% R" _
b,2 l% y; r/ j* D
* p2 r4 V4 Z1 }经理面谈:! x: e' n) x2 r3 L8 L2 `
a, 一个字典系统,有1000000个单词,找出那些字母一样,只是顺序不一样的单词,分类整理(例如:pot, opt, pto, etc)
1 ]+ F8 L/ }4 e& P5 Q! D. p e3 rb,有着良好的背景,技术思路非常不错,但可能最近两年在做测试,对编程可能稍显生疏
- ~: K0 z1 a& o8 O" F" ~0 s6 [1 K4 L( x# K
英语:
& R4 F, Y% m4 ^# v0 U8 X: L: S
$ m1 x" l9 R5 V, o! n" R. na, 说说你的缺点???
: X+ {$ a. B% bb, 说说你的优点???
+ ?1 H: w/ F# s j) A k! ?% P# d4 Gc, 说说你认为对你印象最深刻的事?. ]- r, _! b2 N. y% l
d, 为什么想换工作??' j2 f: I( ^- m3 @8 P0 u) S' M
e, 比较一下你了解的五个城市(宜昌,荆州,武汉,北京,青岛),你更偏向于哪个城市??6 h# v3 v/ f0 r2 X5 `2 J
0 {0 j8 h* y& x3 R, O1 k, Q8 k5 B部分答案:
* m" h. h, r7 R# N" ~1 A1 T( h2 {% G" j/ P- d# T
1, 关键字 extern "C" 说明
5 \$ Z8 w4 {4 j. C6 \ I2 x1 H6 e4 g
==> C与C++对函数名的处理是不一样的,在C++中会对函数名编译时加一些修饰符用以区分函数的重载等问题) [9 i" b8 i! [# g; ^) ~+ ?1 x
==> C编译的函数库,C++中声明与调用时,应指定extern "C"关键字,这样保证C++在编译时仍然采用C的方式编译函数名0 e$ u3 u/ \- z8 W! ^( S
==> C++链接时就能找到正确的C函数
# Q H1 D9 Q3 O7 S1 r==> extern "C" void f(int a,char b); ---引用C函数+ m6 E$ z7 J" k) l
==> extern "C" { #include "cExample.h"} ---引用C文件名
u+ U. h& t- [+ S==> extern "C" int a; ---引用C全局变量
3 Z% ?/ B" m3 O( ?9 x- x* z/ @( G+ Q+ c( @* z) K' e# m6 n
2, 关键字 struct 与 class 区别:(被问到的题目用绿色标示出来)
% U) o% l' D* ?, y/ C6 L$ B. c==> 默认继承权限。class的默认继承关系是private,struct的是public
H2 \% {- T7 m" O==> 默认成员权限。class中的默认成员(变量与函数)权限都是private, struct的是public! m2 A' J4 z+ Z
==> 模板中struct不能用作模板
* k3 I3 L3 z( a; _$ [$ x+ L+ Y7 {$ L2 A, f: Q! U& k5 j; S
3, 指针与引用的区别:1 T$ s7 ~! t# A! p3 P; n# z1 @
==> 指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变
* T5 i0 w, ]- f; Q==> 指针是一个变量,编译时会分配内存区域。引用只是一个别名,不分配内存区域& T- S, E3 q( ^( h6 ?5 J/ M
==> sizeof(指针)通常为4, sizeof(引用)为对象地址空间3 n7 K R" h% ]- e; e2 N4 k9 O
* p) K1 d6 w5 W" [& i6 Z+ i/ K4, socket中的recv/send阻塞与非阻塞区别
" U. _5 M* M! N==> recv/send 参数中都会指定length
" ~, u. X( b& q4 Z- Z==> 阻塞式send: 拷到发送缓冲区,如果缓冲区满,则需等待直到指定长度的数据发送到缓冲区- B/ D$ q! u7 _, g- {
==> 非阻塞式send: 一直拷贝,如果缓冲区满,也立即返回,并不等待。
Y5 ^ I, k- z==> 阻塞式recv: 直到接到到指定长度的数据为止
; I+ e# R9 i0 t, ^1 ?==> 非阻塞式recv: 立即返回,不管缓冲区里是否有数据,或者数据是否够指定长度,都立即返回
7 o, v* B0 a' U; q
) e: Q* t1 y5 C* t4 ^5, main函数之前还有代码吗?
, b5 c) N R& H9 M7 L |+ A4 A- i; K* I( R# s8 w8 n+ N5 r
main函数之前还有一些全局变量的初始化,对象的构造,main函数退出后会有全局变量的析构等 i3 J; F7 S! S5 H5 Q2 m
+ }) l! V1 L0 D2 i4 `0 T1 A
! D" T; W- V& D5 ?7 H3 H爱立信面经:topic问题
! R4 [3 @: k. hhttp://bbs.aftjob.com/thread-289744-1-1.html
; E/ @9 X7 N4 Q+ p: d0 A5 D6 L爱立信最新面经,分享给大家,希望有用!
# G) R: G6 n) Q$ ~http://bbs.aftjob.com/thread-781023-1-1.html, c" ^$ G. E8 ^; C7 B
爱立信2010年实习面试
Y2 _* _8 j- f5 @, w* rhttp://bbs.aftjob.com/thread-610327-1-1.html/ g$ I& U1 @' C- @8 a" X' H
! v) O# u3 {0 S' R5 r
爱立信俱乐部:http://bbs.aftjob.com/group-298-1.html |
|