|
|
腾讯2012年校园招聘笔试7 ^2 c6 j! m+ f7 j
; e& ^, ~4 W1 ^) e, _2 @
& R. e9 v+ u1 |, f1.笔试时间7 p( p# ?7 A R+ M4 ~8 {9 X4 O
2011年10月各地区笔试
1 e& K8 h) C5 ~; N0 M* _合肥,重庆,大连,武汉 笔试时间为10月9日 7 l6 j, {1 |8 H. g- L& d' S) S
北京,深圳,南京,沈阳,长沙,上海,杭州 笔试时间为10月15日
1 H H- j9 M+ L \; z. h, E) c天津,厦门,香港 笔试时间为10月22日
3 F6 y' j2 y+ O S+ ?3 h8 G8 ?: z) @7 S" V) D0 E
腾讯2012求职俱乐部:http://bbs.aftjob.com/group-47-1.html6 l; P: x3 ~! d( T4 V
腾讯2012求职手册:http://bbs.aftjob.com/thread-608477-1-1.html2 D5 n7 }, u7 M: w# j
% N+ k6 y4 `" y& O2.宣讲会剩余时刻表! g+ ?( b9 C6 l: r
学校 宣讲时间 宣讲地点
0 K; F3 Q3 m/ _: ?4 R1 |2 J重庆邮电大学 9月26日 19:00-21:00 第三国际会议厅
+ L' ]# ~4 |4 ^9 p重庆大学 9月27号 19:00-21:00 B区勤工楼2楼报告厅 4 k) b. d H' C8 r' [/ I) Q1 i
中国科学技术大学 9月27日 19:00-21:00 西区学生活动中心2楼学术报告厅 + B2 l7 y/ A) J/ q
复旦大学 10月13日 18:30-20:30 张江校区行政楼106号报告厅
2 P5 m$ }* s7 S {4 {上海交通大学 10月14日 13:00-15:00 闵行校区光彪楼一楼多功能厅 : ~* v% D: q/ O0 w3 ~; B; ^
浙江大学 10月11日 9:00-11:30 玉泉校区邵逸夫科学馆演讲厅
9 ]; L5 }/ f( N B4 @北京大学 10月10日 15:00-17:00 英杰阳光大厅 ( }: C2 K N5 z y l
北京航空航天大学 10月8日 19:00-21:00 学术交流厅
4 o& s( d$ P9 r" e: W4 k深圳大学 10月13日 19:00-21:00 科技楼一号报告厅 6 k7 {# L6 s, ]- o5 j2 G0 C
南京大学 10月13日 19:00-21:00 科技馆一楼报告厅 $ r9 [$ V* f+ [9 r& p
东南大学 10月11日 14:00-16:00 逸夫科技馆报告厅 / Z7 H8 O# C6 v7 O8 E! Z' V7 ^' r
& H7 E D8 c+ d$ F5 d
3.2008年腾讯技术类校园招聘笔试试题(A8卷): |0 \ m1 A2 |9 b; g
http://bbs.aftjob.com/thread-93654-1-1.html3 O u: _2 P4 O, U2 u! a
姓名:______________ 联系电话:_______________ 简历编号:____________
% B) M5 i$ v* h2 i学校:______________ 专业:___________________ 学历:________________
& m* Q$ g" a+ o0 R* {$ M一. 单选题(每题4分,15题,共60分)
& J$ [+ |7 M3 n' w8 x; `1.考虑函数原型void hello(int a,int b=7,char* pszC="*"),下面的函数调用钟,属于不合法调用的是:3 k5 ?) I a' J2 e0 n/ s
A hello(5) B.hello(5,8) C.hello(6,"#") D.hello(0,0,"#"). a) N& w8 y. S( E# r
2.下面有关重载函数的说法中正确的是:* ]: ~5 a: A( \: A% R+ [
A.重载函数必须具有不同的返回值类型 B.重载函数形参个数必须不同
5 \; c3 I4 j! G7 b& ~7 C! ? C.重载函数必须有不同的形参列表 D.重载函数名可以不同
, J5 [( _% \3 Z& C3 t3 {3.分析一下程序的运行结果:
) Z8 M- ]" b+ o! ?; t$ V#include<iostream.h>
4 N, W; k/ L# K$ Q0 F* x. tclass CBase8 E2 e/ U1 n3 b$ m; x. A
{
" t T7 V5 }6 e7 s1 z1 C$ epublic:
/ l4 N) n& t# I# g; l8 GCBase(){cout<<”constructing CBase class”<<endl;}. P, }0 h; a: s. o6 r: G
~CBase(){cout<<”destructing CBase class”<<endl;}
0 P6 o! j* P% n+ [! c2 ^};
; T/ @6 ^5 z I) S) o) d$ Z# yclass CSub : public CBase
4 j" W; Q6 C3 H2 i5 T9 {{
# O; o4 y# N; {public:
7 o/ K F4 ^0 k% X/ N1 rCSub(){cout<<”constructing CSub class”<<endl;}
3 x$ }9 a) a# ] Q7 `" l~CSub(){cout<<”destructing CSub class”<<endl;}( W: Z% D @( I0 E; ~2 n# ^ K% z
};
( B* ]* G! e# R7 R7 F% J$ Avoid main()8 O# S1 _3 I$ a: |8 `
{
" [9 K2 [5 `' ]! B$ @+ J CSub obj;% F; U/ j0 W+ w6 d7 M1 N+ _
} Y/ @& x$ g4 M4 o e/ i
A. constructing CSub class B. constructing CBase class
) ~* L3 |% k1 j/ V7 E& g- f7 g constructing CBase class constructing CSub class! r5 {$ ^. ?! x' F) V4 z
destructing CSub class destructing CBase class0 V1 a- D; U+ d' i+ b0 O' d6 E
destructing CBase class destructing CSub class
/ h: U+ e( K: m9 O! z, F# TC. constructing CBase class
3 d% O, o* m7 a) L! E) E8 p4 ] constructing CSub class ) X/ [9 H. b; }8 P3 f5 a& w
destructing CSub class T3 w/ z$ }/ Z! f2 e- X9 Z
destructing CBase class ; o. _# a; p5 {, n- n, c
D. constructing CSub class' w1 r- W! \0 ^4 L( c: g: N
constructing CBase class
8 f* z& O9 e1 f+ ?- S4 u destructing CBase class: T$ L x8 @( }# K& a
destructing CSub class$ _, k' \2 c2 F+ G9 ~3 d/ @& Z
4.在一个cpp文件里面,定义了一个static类型的全局变量,下面一个正确的描述是:
. F3 q" }+ l/ O6 ~( bA.只能在该cpp所在的编译模块中使用该变量
U- {( A2 }5 i# H0 p i7 ZB.该变量的值是不可改变的
9 J' d6 z/ d5 {0 c# f: \# c9 ZC.该变量不能在类的成员函数中引用& w8 c7 z' b- D; D
D.这种变量只能是基本类型(如int,char)不能是C++类型1 w' I# `! R' x' h6 ~0 M- H. B6 ~, G
5.观察下面一段代码:% |( D5 u" g* D& x5 b4 N0 C7 }
class ClassA
7 [+ F; }% O3 O0 _{
& e* Z- W6 G3 C' qpublic:
, r5 Y" P/ g1 h0 g% t8 |1 Cvirtual ~ ClassA(){};: B# U1 j% v3 A0 p
virtual void FunctionA(){};, F& }" x9 @ l+ [5 }7 A( g& s
};
8 U+ a2 f3 E& k, Wclass ClassB
1 {5 U" Y5 Z3 ^' M{
. v+ g" x, C6 O6 k: |0 o. Spublic:6 T1 c; }9 l; N" H/ S
virtual void FunctionB(){};
+ ~% t W' _7 J};
6 @% X) |0 _+ }6 c! |class ClassC : public ClassA,public ClassB8 U' Q, ~$ l, c$ H; W9 o; I3 w1 G4 t0 _
{
m( ~, G: j, A! y0 `public:( n, l+ e3 i9 ^
};/ z5 m5 ]) L6 Q+ p' H
! W9 |3 f5 c6 IClassC aObject;
+ w- x1 X4 L+ ZClassA* pA=&aObject;
, M$ R/ q$ }4 {% A0 UClassB* pB=&aObject;- O5 l/ Z1 @5 p: C4 U q; @
ClassC* pC=&aObject;
% c+ q* \0 ]" R: c( ?5 O关于pA,pB,pC的取值,下面的描述中正确的是:
/ T3 u0 E0 ]! e3 F/ Z- X' CA.pA,pB,pC的取值相同. B.pC=pA+pB7 ~& s# i; N8 d( _
C.pA和pB不相同 D.pC不等于pA也不等于pB. z8 a1 ~- H5 I
6.参照1.5的代码,假设定义了ClassA* pA2,下面正确的代码是:! b8 l% ~5 q: o4 R/ [' b5 c7 |
A.pA2=static_cast<ClassA*>(pB);! K+ m/ P* b& ^8 ]& X/ _) G
B.void* pVoid=static_cast<void*>(pB);( Z8 | M7 z$ Y' ]8 G9 ` Q- I
pA2=static_cast<ClassA*>(pVoid);
/ s8 N! `' `8 \5 j VC.pA2=pB;
9 g& I9 z3 d- L4 ?- I. s' nD.pA2=static_cast<ClassA*>(static_cast<ClassC*>(pB));
$ o+ Q; b5 d, C2 \; B" _, q4 J) F7 o1 g7.参照1.5的代码,下面那一个语句是不安全的:7 U9 }" {5 e! n( N& R1 b5 K
A.delete pA B.delete pB C.delete pC
) e0 _1 a6 A0 r/ J; V! r( b# ?2 E% A9 C) m8.下列程序的运行结果为:
7 j: C9 w, }6 I) Z5 ^7 [#include<iostream.h>
* J1 M+ N7 k0 ^' avoid main()5 f! E) ]2 B+ ]6 J" ?
{
! I! s$ z! C# B+ uint a=2;* j1 t( D( L% o6 R {
int b=++a; I3 }0 k% A7 X! w
cout<<a/6<<endl;) o6 u8 U1 L0 x8 l3 Z( F4 W( a
}3 k9 k l9 q; c0 L2 Y3 n1 j
A.0.5 B.0 C0.7 D.0.6666666-7 I+ U+ n( ^3 z
9.有如下一段代码:3 e( W; S+ j1 J) c9 q' Z8 I
#define ADD(x,y) x+y3 b9 v% W5 I0 H# n Y! J
int m=3;( v' \/ i% u% i7 P2 |8 x. X. T
m+=m*ADD(m,m);
|# v( C8 x" c6 `& j8 u则m的值为:
5 e" A9 \1 F- \2 r; v7 f A.15 B.12 C.18 D.58
1 q q3 u) _4 O- F% t7 w10.如下是一个带权的图,图中结点A到结点D的关键路径的长度是:
9 z P& ]# Y& f% x w5 N: G2 Z. L4 |A.13 B.15 C.28 D.58
9 K$ J+ ?( j# `6 l" I4 ~% W. H8 H1 [& m
11.下面的模板声明中,正确的是:. F9 o# M2 O. X& X- l8 }8 V
A.template<typename T1,T2> e; g0 j3 p3 W( X) d1 Z
B.template<class T1,T2>5 b0 q; A$ m9 y5 |1 B, I
C.template<class T1,class T2>( I+ @& L. J7 b7 d: L$ W& n
D.template<typename T1;typename T2>' `% p# F7 W7 }. r3 _. i( M
12.在Windows编程中下面的说法正确的是:
' p2 f( [* q7 |. Y; s9 _6 q q8 t9 TA.两个窗口,他们的窗口句柄可以是相同的 B.两个窗口,他们的处理函数可以是相同的
! z( s& a4 j5 I+ f' L( YC.两个窗口,他们的窗口句柄和窗口处理函数都不可以相同.
( o. t. @5 I/ o, v* u0 G13.下面哪种情况下,B不能隐式转换为A?
: I! J: \6 X% ^7 }3 P5 ~3 a; g/ a4 cA.class B:public A{} B.class A:public B{} j' Q6 k" n7 L5 Q5 y. Q
C.class B{operator A();} D.class A{A(const B&);}$ [0 Y6 e; E) {- c+ x& A) L
14.某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是”该防火墙能够( )”.
; B: _' e; w8 p$ |% W4 H S. m+ `A.使公司员工只能访问Internet上与其业务联系的公司的IP地址.* U+ i3 [ ?; k/ _
B.仅允许HTTP协议通过,不允许其他协议通过,例如TCP/UDP.
. s4 r6 S' @5 b: _4 o* s+ eC.使员工不能直接访问FTP服务器端口号为21的FTP地址.2 u0 ~( C; C |. r* z
D.仅允许公司中具有某些特定IP地址的计算机可以访问外部网络
5 l+ r, F1 M/ y% h8 V" R) z6 i15.数字字符0的ASCII值为48,若有以下程序:
% L) h3 A- E$ M( A& s. S9 e; q" s- Gmain()7 Q0 c; A, s1 T, D F1 ?! f4 k9 G
{, l6 X5 Q. d* Y, O( K
char a=’1’,b=’2’;6 T/ T" ]/ n/ z, N( x
printf(“%c,”,b++);
7 _2 Q! X. w Q4 Lprintf(“%d\n”,b-a);
# X1 W @$ m: M: s2 _7 o2 G1 s}
4 e# f: o; G' _, {0 z+ h程序运行之后的输出结果是:
* h; Z$ C# a+ F9 |% P) HA.3,2 B.50,2 C.2,2 D.2,50
" u. H% u9 U1 K' q F r0 v. R0 n二. 填空题(共40分)0 ]7 i; h" t6 T- p
本程序从正文文件text.in读入一篇英文短文,统计该短文中不同单词和它的出现次数,并按词典编辑顺序将单词及它的出现次数输出到正文文件word.out中.% j( J5 R) A# l+ F
程序用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历经过的二叉树上的节点的内容输出.: ~; f# w6 k6 n$ N0 ?
程序中的外部函数! T& U) q: e& K+ @
int getword(FILE* pFile,char* pszWordBuffer,int nBufferLen);4 |4 \7 P* {6 G$ _- v
从与pFile所对应的文件中读取单词置入pszWordBuffer,并返回1;若单词遇文件尾,已无单词可读时,则返回0.; G5 x) @5 d, r- P" \ S; y) S
#include <stdio.h>
) e7 t/ I. c2 ~* p/ l2 b" g#include <malloc.h>; y5 @8 r' D1 A! u) W& f' }; w
#include <ctype.h>
$ @2 z3 \% X1 }& v$ a; X' c# Q) \#include <string.h>- z2 B% l. y9 k# g' ?; H
6 G3 n( t; C8 B9 q3 z#define SOURCE_FILE "text.in"
" S0 N, A; O4 j8 e4 W: ^7 n4 y#define OUTPUT_FILE "word.out"
! j8 \+ |! t% k/ E#define MAX_WORD_LEN 128; n0 b7 k7 V5 d' V; o
' w, k2 j! c |3 v' F$ rtypedef struct treenode
/ P& ?* a) h, u7 R) U# s0 j{8 u, }3 v: F$ k. z0 }! M
char szWord[MAX_WORD_LEN];
( A- U( |& z5 _3 g& j int nCount;5 L4 Z) S# \5 ~* v
struct treenode* pLeft;- v1 k# a% t: d" n" j% i' Z
struct treenode* pRight;: V7 k8 L/ A" C7 ]) u
}BNODE;( H# H X9 {! I( G, [
7 X$ d8 R: Y. K" U( Mint getword(FILE* pFile,char* pasWordBuffer,int nBufferLen);$ e7 U# ]) ]4 Y0 Y
$ H2 ], _- L9 f( p$ @# n' V' fvoid binary_tree(BNODE** ppNode,char* pszWord)
2 W1 I' k" a W{2 ~& U, `6 o; _" a
if(ppNode != NULL && pszWord != NULL)
& h& J0 O2 W4 i5 D1 o1 L/ _5 e {
# Y3 w( r5 `+ ^3 y2 @ BNODE* pCurrentNode = NULL;
/ _6 w7 q# [# M* K BNODE* pMemoNode = NULL;0 z- ^; n6 Z2 a0 t0 a4 F0 r
int nStrCmpRes=0;9 a) ` e' w' A1 n+ K$ v0 B" g
9 ~4 Q( {: N( u/ `5 W ____(1)_____;pCurrentNode=*ppNode
. M$ r/ b" x N: g$ V$ T3 x
, L S7 Q) {) U) e" c& h/ g while(pCurrentNode)% b! o2 A9 d2 y+ p6 Y) {6 U
{0 B$ V4 y9 y2 U. t
/*寻找插入位置*/7 h% {( _0 ^# v4 m: u3 r
nStrCmpRes = strcmp(pszWord, ___(2)___ );pCurrentNode->nCount# @! n2 B% o0 U6 Z- v' n
; M6 \+ G! N& g if(!nStrCmpRes)
% ` c5 }5 m) }) u& V: _6 f/ S {
* K5 q4 s% s3 u1 l( a Y ___(3)___; pCurrentNode->nCount++1 g* B0 E" \ m5 X5 {( W
3 g4 t/ T% y+ l( |( L
return;0 u1 @: A7 i4 G: ]/ {
}5 W) [8 G4 O j% p. R
else* Z( w$ E* ]& E) f6 S+ S8 x9 ~ d' K* s
{% M2 b: l. u) G) T
___(4)___; pMemoNode=pCurrentNode4 d6 P) T( |5 o6 y# A! d) W
pCurrentNode = nStrCmpRes>0? pCurrentNode->pRight : pCurrentNode->pLeft;
8 O! b& s; I0 O! V; C( a9 |8 J1 M }* }4 H. Q- O" q6 \1 F# } B' d; S
}+ Z8 a% Z5 Z& i1 p7 k- F q
}0 @' U" x- B& @+ n5 g4 k
9 y: k/ q Z, P6 B
pCurrent=new BNODE;
$ v* ?5 R- `4 k9 b7 }, U 7 }% Q0 R; H2 d: E: D) W
if(pCurrentNode != NULL)$ b9 _$ \$ i6 l' f9 W0 m" M# Q
{6 o( K% s0 M9 F' |7 a g
memset(pCurrentNode,0,sizeof(BNODE));6 M `% F) e# N9 T
strncpy(pCurrentNode->szWord,pszWord,MAX_WORD_LEN-1);
, c3 w- v- w& H. |* |5 F. S pCurrentNode->nCount=1;: ?8 p6 d. I, G+ y, ?
}+ a- s$ I0 l+ ~& O
$ O5 |5 H, D& h0 |+ U" @. ~3 x if(pMemoNode==NULL)) e y* M2 h' @' ^% Q& s- n
{
+ R1 C* K2 L, F# a& ~( _, a ___(5)___; *ppNode= pCurrentNode
, U4 Y6 q* c; p }
$ u0 y) X0 K: [! b else if(nStrCmpRes>0)+ o# d, V9 s. y9 `! d4 k" k
{5 v+ z" A0 z- {; O8 a( z: n& X
pMemoNode->pRight=pCurrentNode;
- W8 x! A [! {0 P- N }
- [- o/ G+ c1 P else4 a4 [ D8 c: |7 K7 F
{6 v; l: n @2 I5 s% u% K5 H
pMemoNode->pLeft=pCurrentNode;/ }* e/ L w7 o
}
3 H1 v1 h4 k9 R2 V6 j}* P4 e- q' `1 g) ?; @7 O
7 m; q' g$ D7 Q+ G% ?
void midorder(FILE* pFile,BNODE* pNode)
0 a4 X/ B& s/ W9 \ B1 j{
/ W+ q) r% Y$ g if(___(6)___) return;!pNode||!pFile {4 B* [- C4 ^8 ^" @( @
. P, S! [6 O% [& {
midorder(pFile,pNode->pLeft);
9 u# @# C, f1 x a fprintf(pFile,"%s %d\n",pNode->szWord,pNode->nCount);4 t9 Y, h8 a! ~' q' ?- X$ D: U
midorder(pFile,pNode->pRight);
: g7 S/ c$ g' m6 M}
s0 ^$ `1 w: a( O. m3 k; d9 Z
3 ]! P9 M' h7 P d1 Vvoid main()
: p, ]" R7 l+ M$ z: G* P6 K5 l{
- y$ Q0 D. w7 W* H# y8 J FILE* pFile=NULL;1 Q% Z; e) T% N3 P
BNODE* pRootNode=NULL;
( Y, c, z% J5 Z7 S3 D2 P char szWord[MAX_WORD_LEN]={0};8 G/ N3 g C0 l2 p) }% a0 {
( p, z( c( O. v+ P0 C' r
pFile=fopen(SOURCE_FILE,"r");
! L. E) C8 K# x$ }" O
% {7 _8 k+ f9 s2 ]" J9 O/ o if(pFile==NULL)8 a3 s+ r4 ?+ |& ~# j, G
{ y. x. ?0 d; q* s$ |0 X
printf("Can't open file %s\n",SOURCE_FILE);
0 N- X4 A% L6 ?9 ?! u return;
5 k, J. i, X/ c. j }' c0 r" R: J$ A" S
7 B$ K! {3 k% K- }" E5 U& M while(getword(pFile,szWord,MAX_WORD_LEN)==1)
5 z/ u8 f. s: X: l. {5 d& g3 N {
% t- }& N; N! C: p# W% F% c+ S binary_tree(___(7)___);// pRootNode,szWord$ c! q- F0 ^: I- P3 J
}- {! Q( g5 Y% f: c
+ N* i' b7 q8 m+ M% H
fclose(pFile);9 m" R( I( R; G. u
- Y4 _' E% ^7 B! j6 m$ x
pFile=fopen(OUTPUT_FILE,"w");) @3 l9 \$ u3 x$ @9 f' V1 p& q
midorder(pFile,pRootNode);/ V- E) o: Z: `5 [- [: I0 Q4 k# t( `
fclose(pFile);# J' o3 v' M$ }
}. T) r. ?; K$ C$ |7 G. F f
三. 附加题(每题30分,2题,共60分)
% d9 z- Z& O( G" [1. 从程序健壮性进行分析,下面的FillUserInfo函数和Main函数分别存在什么问题?
4 o$ D4 Y5 ^* I: M7 p0 J5 \#include <iostream>
: Q) h! Z3 \, S' {#include <string>8 ^2 T4 F* o! X3 [) L
" J: P( z2 m, Z: f0 \' f#define MAX_NAME_LEN 20
$ W( |& Z- ?. v: A# I( [8 q # p" V4 F9 Z; f. B9 ?- q
struct USERINFO( l% O1 Q0 r: z1 [2 t
{- e @5 s. ? ~. ^
int nAge;* A; J; K- M0 V, C3 i. x# h
char szName[MAX_NAME_LEN];8 {$ y+ l! ]( b( ], b/ ]: z
};/ X, K) r' Z9 m1 c% c' G
; E0 f$ k: n/ @void FillUserInfo(USERINFO* parUserInfo)& J4 V+ V) F3 V0 n/ n& v
{
, G# X) O+ F) L4 ^' y4 w stu::cout<<"请输入用户的个数:";" N$ p! u3 U3 U3 F) n$ D$ _6 B
& D# r8 `7 B/ j2 S: @& l1 n
int nCount=0;
1 o9 z/ c2 R) X" c) ]3 ]& w std::cin>>nCount;9 c i/ g" B! b' g! H$ W; u: W# ^
) ?7 L6 W" G% N! @3 P for(int i=0;i<nCount;i++)
7 {: D: R4 K6 i; E( o2 C) c {( y" s) j5 E4 V% m6 V
std::cout<<"请输入年龄:";
3 z+ o" c" K) p [1 f! i std::cin>>parUserInfo->nAge;( g) B" m* p% r5 P
1 Z3 o! J8 M9 b* c1 h
std::string strName;
0 N- I9 V! R; ?. P. ^8 k4 | std::cout<<"请输入姓名:";/ Y8 W' v4 O( `: W
std::cin>>strName;
, J6 D. |8 a3 J/ X0 @ strcpy(parUserInfo.szName,strName.c_str());' }' i/ X+ Z1 l8 T9 N
}
) n# \: ?+ m, ~- v% J2 _}6 W9 ]* T: L8 I( G5 ]. D
. t9 ^9 D1 Q0 r/ [. |0 aint main(int argc,char* argv[])2 U9 O1 G" e2 G8 W
{
2 ]# a. w) g8 t' ~3 k: g5 t USERINFO arUserInfos[100]={0};
! `, b$ v; Z# o2 x+ i, W FillUserInfo(arUserInfos);
. l5 n' b9 l; J* z/ Q 3 ^2 R& S, q6 f% Z: p. e
printf("The first name is:");+ |: f q s+ V- A- P# x9 Q3 G. H8 L
printf(arUserInfos[0].szName);; V# S- h. B( s% k/ u! e4 W
printf("\n");
3 y4 X. `) t( _! l# T
. g* J$ P( p- t8 I return 0;' X% u$ {4 n, v# f) o
}
0 Y7 R- O2 {% K7 ?2. 假设你在编写一个使用多线程技术的程序,当程序中止运行时,需要怎样一个机制来安全有效的中止所有的线程?请描述其具体流程.
( l& L; b" y p0 \7 M1 C+ {( d6 ?0 h0 R- E
& ]+ ?* q' u! ?查看名企2012校园招聘最新进度,请关注阿凡提求职公共日历:http://www.aftjob.com/home.php?mod=space&do=calendar1 @2 d( O/ H2 O4 d6 t
百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html
5 ] Q4 }( u$ b( A- H" S百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html
0 h: L+ o. N- k: Y( T4 ^2012腾讯求职手册:http://bbs.aftjob.com/thread-608477-1-1.html
d& b @( O' E, F) r( C2012百度求职手册:http://bbs.aftjob.com/thread-608484-1-1.html
; r( q3 n4 @; O* f& p0 J5 t2012阿凡提求职手册——IT行业篇 :http://bbs.aftjob.com/thread-607158-1-1.html |
|