|
|
腾讯2012年校园招聘笔试
( e: B* ?- B' _/ b8 n9 h& \8 a" f- m. a, I0 B5 C2 s
' X% E( n' c* F! C! s2 k. T' \1.笔试时间
7 W6 j+ m6 W! K# D8 b2 v) Q# z2011年10月各地区笔试 ' Z% a( ^* x1 Z8 ^
合肥,重庆,大连,武汉 笔试时间为10月9日 - P& k1 V' L: Y
北京,深圳,南京,沈阳,长沙,上海,杭州 笔试时间为10月15日 3 A! t0 i+ c* w7 \( V0 B5 }
天津,厦门,香港 笔试时间为10月22日 ( \) S' `7 D/ {* G* d
; U7 R$ j% w# y
腾讯2012求职俱乐部:http://bbs.aftjob.com/group-47-1.html
% T- e; c; [1 V' @/ S$ N腾讯2012求职手册:http://bbs.aftjob.com/thread-608477-1-1.html2 _8 l. n2 _- O( Z" P6 p6 N: R8 h
5 @! B7 R5 r, q# P$ }* p0 v1 P2.宣讲会剩余时刻表8 \1 J7 O7 b. ^* S3 m
学校 宣讲时间 宣讲地点 9 p- P; X# o+ o( X5 l* {: V
重庆邮电大学 9月26日 19:00-21:00 第三国际会议厅
. v, ]- R- E' ?# q重庆大学 9月27号 19:00-21:00 B区勤工楼2楼报告厅
' a9 {. ^1 P h) j( w8 J9 X中国科学技术大学 9月27日 19:00-21:00 西区学生活动中心2楼学术报告厅 ' I1 q4 Q! |6 y, u3 d, x2 M
复旦大学 10月13日 18:30-20:30 张江校区行政楼106号报告厅 . }" b* N, a1 w: i3 N% s$ W l
上海交通大学 10月14日 13:00-15:00 闵行校区光彪楼一楼多功能厅 ( S0 H! d: h; s6 f: j l! A& q$ s: T
浙江大学 10月11日 9:00-11:30 玉泉校区邵逸夫科学馆演讲厅 $ V x: u* K5 v
北京大学 10月10日 15:00-17:00 英杰阳光大厅
1 F; l( Y/ z) T% _8 f6 l6 ?4 O北京航空航天大学 10月8日 19:00-21:00 学术交流厅 / Z+ t1 @$ x" E) X, k
深圳大学 10月13日 19:00-21:00 科技楼一号报告厅 ; [& a& b) @ W7 n) Z, Q# W. a
南京大学 10月13日 19:00-21:00 科技馆一楼报告厅 ; x. Q% L- g0 X+ ~) H3 L3 N
东南大学 10月11日 14:00-16:00 逸夫科技馆报告厅 F5 R5 t( y4 U
4 o1 E6 |3 j0 p7 `9 I+ Z
3.2008年腾讯技术类校园招聘笔试试题(A8卷)
' s( X; g, B4 i4 A3 M' Khttp://bbs.aftjob.com/thread-93654-1-1.html3 s6 E% j" ?1 F# Y& ^
姓名:______________ 联系电话:_______________ 简历编号:____________
7 s$ M( X7 a* H学校:______________ 专业:___________________ 学历:________________& y* Y6 b# F# l% M3 f7 _) j
一. 单选题(每题4分,15题,共60分)
0 r/ Q* Z& K: K" o' o. o, f. I5 O1.考虑函数原型void hello(int a,int b=7,char* pszC="*"),下面的函数调用钟,属于不合法调用的是:" _% [" ~$ x2 y$ I, {$ N4 t0 D, p
A hello(5) B.hello(5,8) C.hello(6,"#") D.hello(0,0,"#")
3 w$ {( ?* V3 W5 K. b' K7 v2.下面有关重载函数的说法中正确的是:9 T4 E+ C3 x' R% h% O8 v
A.重载函数必须具有不同的返回值类型 B.重载函数形参个数必须不同
7 z. @% V/ S, G. S& z( O C.重载函数必须有不同的形参列表 D.重载函数名可以不同
8 J; ]7 m* L4 n3 ?- j8 n, t3.分析一下程序的运行结果:
, P& E6 ~4 m M, y9 K+ G; z! Z5 {#include<iostream.h>+ X w0 S# t, C0 l6 O' }
class CBase
1 Z: X$ Q% P( Q/ j% k# w. I{# Y; C( ?/ {/ |% N
public:
6 f3 u3 ?4 |8 @! l/ }3 _; a DCBase(){cout<<”constructing CBase class”<<endl;}
$ r5 O0 ?2 R9 b |~CBase(){cout<<”destructing CBase class”<<endl;}
/ G! y& X8 l0 }};
7 p u0 C6 ?) H$ w9 |+ bclass CSub : public CBase2 n# r3 \5 I" I! L) R2 p
{
' C+ {6 [: f+ S2 r Wpublic:' Z2 t4 R; T7 p3 g9 P
CSub(){cout<<”constructing CSub class”<<endl;}3 I0 i" j. C& F8 l. j9 c
~CSub(){cout<<”destructing CSub class”<<endl;}0 X# Z% j. G0 l) |# U4 I
};
, e T. f) h% {- e) w# Lvoid main()
$ l5 } b3 V# J8 V: \& z{
4 ? ?2 M5 _6 ]. }: z% ~ CSub obj;' r# N' \. G1 A- e/ p2 P
}
# l7 s4 J4 l& gA. constructing CSub class B. constructing CBase class
& ~' m2 p$ p' V; u. k8 z constructing CBase class constructing CSub class I7 p. s5 R, ^2 L5 u/ i
destructing CSub class destructing CBase class
: Y) }! U4 a- ~6 ^ destructing CBase class destructing CSub class5 W+ f# {/ N# j) [# \5 n; B
C. constructing CBase class
* q1 L7 e# r* }% d constructing CSub class ! p- A# `0 M/ \) H) `! ?- f
destructing CSub class
0 q! l2 P3 G9 W- j' a destructing CBase class ; m1 q% q1 p7 Z4 _* \; q4 k# K! y
D. constructing CSub class, n/ F! W- t' h8 \
constructing CBase class
K8 I7 Y/ j6 m, n1 f destructing CBase class
! F' ~( p3 |; \2 z3 E7 {5 b destructing CSub class2 [" H9 r5 t" ~7 _/ U
4.在一个cpp文件里面,定义了一个static类型的全局变量,下面一个正确的描述是:8 J4 {# d" _8 A5 C
A.只能在该cpp所在的编译模块中使用该变量. U5 u2 p: G0 H7 A7 t- b0 e
B.该变量的值是不可改变的
6 i) T8 v9 M4 T3 M8 ZC.该变量不能在类的成员函数中引用
% ~9 f q9 x, g) q+ y6 c$ i9 TD.这种变量只能是基本类型(如int,char)不能是C++类型# {+ d4 }6 m W2 e* p4 `
5.观察下面一段代码:7 W! A5 X" T1 `/ ~5 B. k/ ~4 n$ Z
class ClassA
- x9 _3 M3 N8 l1 ?( E1 _, U9 Z{
$ y' G+ g% Z# z. W3 c6 e5 Spublic:
+ {( x" P' \+ O2 o) d4 N9 Svirtual ~ ClassA(){};7 [4 K6 I7 s @
virtual void FunctionA(){};2 R0 y7 s3 R: p5 H( N1 l( w- z
};# R! {5 o$ g8 g2 j1 v# G6 E
class ClassB
4 d3 X1 P" [. \3 ~* }{
& f9 X0 U; r1 l+ v! X, c7 zpublic:$ f3 U1 X' q7 D) x' j3 ~9 c8 a: k$ d
virtual void FunctionB(){};
/ A; n+ a* l2 H$ @& {9 i5 \, B};
/ ~( j. d7 B" `4 t" R8 K# l5 pclass ClassC : public ClassA,public ClassB
& l) ]8 m8 z' k{7 J6 p( y( o# p$ W3 g/ [
public:
+ M* Y" _; K: a. f; ]; t};$ V, h' S1 o* k. P. u) f3 `
, N( e7 L9 K. _" F: w! y, rClassC aObject;0 c/ R4 @. i! ]6 \# ~
ClassA* pA=&aObject;) N4 Q6 d$ d v! g6 A4 r
ClassB* pB=&aObject;7 @6 x' J+ }! A. C Z/ E
ClassC* pC=&aObject; N& k, A" K' V4 r2 z( Q
关于pA,pB,pC的取值,下面的描述中正确的是:
5 j1 s5 N( M) q5 Z% }1 q! M& m4 E. QA.pA,pB,pC的取值相同. B.pC=pA+pB! |6 n9 ~0 b l3 c" y; @2 F
C.pA和pB不相同 D.pC不等于pA也不等于pB9 U% z, j3 p( o9 O0 s% Z# @
6.参照1.5的代码,假设定义了ClassA* pA2,下面正确的代码是:
8 g7 P: K! N) aA.pA2=static_cast<ClassA*>(pB);
9 q% Z$ O3 R( P/ ?5 q+ fB.void* pVoid=static_cast<void*>(pB);
& I( U3 N) F5 Q4 ?3 z pA2=static_cast<ClassA*>(pVoid); {+ R# x4 X+ U2 s
C.pA2=pB;
0 Q% V' { K1 P. f3 ?5 JD.pA2=static_cast<ClassA*>(static_cast<ClassC*>(pB));
0 K' Y: U( e- |8 E0 S1 v6 N7.参照1.5的代码,下面那一个语句是不安全的:& d; i2 h/ ~$ ]" b1 j6 b. M
A.delete pA B.delete pB C.delete pC
( a! O$ J& ]0 p! N) ^1 q) K/ X8.下列程序的运行结果为:
) [. @$ M& E5 {#include<iostream.h>
9 N/ c& i1 y% I( |void main()
% O, S& Y) ]% f3 v% k/ H3 L{$ B" G* z- V9 k
int a=2; Q$ m o3 K# K6 g' B }# [
int b=++a;
/ B' D6 l- D7 P/ x( Y7 K9 ~5 _cout<<a/6<<endl;
2 Y, h, N+ Q& n' w}' J# F! r: P7 n; N4 ?
A.0.5 B.0 C0.7 D.0.6666666-7 I# _* V; B7 ]' z5 _7 X
9.有如下一段代码:+ {( x6 x: }2 o \* h$ D# c$ E
#define ADD(x,y) x+y. w I4 `+ F$ u+ ^# O& b
int m=3;7 H. H( \' S3 l1 x9 d6 w
m+=m*ADD(m,m);
1 k$ q. @1 d [: c则m的值为:
1 n5 s& x# ` ~# X# C7 ?: }; I4 N A.15 B.12 C.18 D.58
0 g! B1 ` l9 Z# Q! T10.如下是一个带权的图,图中结点A到结点D的关键路径的长度是:
' ?3 d9 R; }& aA.13 B.15 C.28 D.58
8 B6 ^& i3 o8 A1 h. T, }# e, R! J! H# A% x
11.下面的模板声明中,正确的是:; q) ]4 G( i P- i1 \# T( b
A.template<typename T1,T2>% c; _; s5 f7 O( w. P
B.template<class T1,T2>. T8 w1 A! F+ y- Z9 X7 ^* n
C.template<class T1,class T2>
1 z$ ^* F/ h, ^/ _8 F" ~D.template<typename T1;typename T2>
5 y& d# W& \' F* X12.在Windows编程中下面的说法正确的是:
0 k) v7 \: Z4 n+ @$ \! k+ RA.两个窗口,他们的窗口句柄可以是相同的 B.两个窗口,他们的处理函数可以是相同的
7 X) s2 G. \# g' |- M4 _/ P X% UC.两个窗口,他们的窗口句柄和窗口处理函数都不可以相同.
v/ U2 u- q2 Q! w& q6 o# _13.下面哪种情况下,B不能隐式转换为A?# P( k3 w% G! \, L# r6 J
A.class B:public A{} B.class A:public B{}+ [2 Q7 \# S1 v, j" v7 f
C.class B{operator A();} D.class A{A(const B&);}
9 N2 }. p, l! T! _8 j14.某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是”该防火墙能够( )”.: h: A3 q" f- W. ]9 f
A.使公司员工只能访问Internet上与其业务联系的公司的IP地址.- l+ d9 D [) m5 H7 D" N; _, B+ q
B.仅允许HTTP协议通过,不允许其他协议通过,例如TCP/UDP.
1 Q5 |- Z F. M2 RC.使员工不能直接访问FTP服务器端口号为21的FTP地址.$ ^. }; C- d7 A
D.仅允许公司中具有某些特定IP地址的计算机可以访问外部网络/ r& i( I: C* h
15.数字字符0的ASCII值为48,若有以下程序:
- Q" O4 q) e4 q9 ymain()6 \& h( }4 y& v9 V, M7 ~4 G1 L
{6 n# h0 Y* ?6 d0 i: o
char a=’1’,b=’2’;* R; ~+ A% [8 b
printf(“%c,”,b++);' W* w! Y: f( l- @* `5 w
printf(“%d\n”,b-a);# o% @3 N: n' ~: k
}
5 b3 u. Z/ o0 Q! S6 S3 w4 B程序运行之后的输出结果是:
: F1 H7 R, y6 y+ v! K$ fA.3,2 B.50,2 C.2,2 D.2,50
# }! O+ t3 h! q# J* ]& ]' |二. 填空题(共40分)
3 p7 e X& l: N/ ?* Y0 e f本程序从正文文件text.in读入一篇英文短文,统计该短文中不同单词和它的出现次数,并按词典编辑顺序将单词及它的出现次数输出到正文文件word.out中.
0 v2 y! J3 L" w. u4 ~" M9 ^程序用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历经过的二叉树上的节点的内容输出.3 X/ x& b5 Y" t2 |
程序中的外部函数
) L. m- j( w0 i, Lint getword(FILE* pFile,char* pszWordBuffer,int nBufferLen);$ N0 |% ]( q: b9 Z
从与pFile所对应的文件中读取单词置入pszWordBuffer,并返回1;若单词遇文件尾,已无单词可读时,则返回0.
: c0 b1 S4 s" G#include <stdio.h>1 q6 I: {2 f9 Y
#include <malloc.h>: I, g$ a( C) p9 h
#include <ctype.h>
; f* | ]% Y R7 f#include <string.h>- ]$ c+ i. i% m$ i' n3 l! s
# ~0 S& _3 d3 j6 S#define SOURCE_FILE "text.in", Q- t! k1 C. {" p8 S
#define OUTPUT_FILE "word.out"
`7 J0 I1 N0 ` v }#define MAX_WORD_LEN 128
# T# D g+ ^6 e 8 q+ E& M. o7 y( v: x) [( H
typedef struct treenode; Z; t" s) S1 }' f6 g4 |6 ~
{% G# f# r8 s% a; O
char szWord[MAX_WORD_LEN];1 k' T, B+ x2 w! L* k) ]: A) ?- P
int nCount;
6 i t! A K4 X struct treenode* pLeft;
" f: L6 [# x! p; n struct treenode* pRight;+ R8 P5 H7 R h$ ~' d. |2 M, [
}BNODE;) E2 l* b& F5 n. ^6 t, n
) a; I Y, p* m
int getword(FILE* pFile,char* pasWordBuffer,int nBufferLen);+ w$ x1 ~$ I) ~) k) |7 a3 z$ [% z( b
3 W+ c9 h6 d% g3 H
void binary_tree(BNODE** ppNode,char* pszWord)
6 o. z/ [; Z6 C- H" Y{ P6 d+ U. H! p% W; {& @
if(ppNode != NULL && pszWord != NULL)
1 T9 |. u, w/ o {2 F1 ^7 x( ?7 D& z5 @" o- t5 @
BNODE* pCurrentNode = NULL;
/ h J4 o8 F2 Y/ ?4 ^ BNODE* pMemoNode = NULL;5 Y+ |' Y+ E8 a9 i
int nStrCmpRes=0;; W' [* J" Z3 x6 f
4 T, s2 ~9 o' U$ E ____(1)_____;pCurrentNode=*ppNode' Q/ B: j# w2 e( [
7 G8 F! g$ Z/ N. w
while(pCurrentNode)
. u. {0 x. h$ @( {0 V( f {+ A9 |6 a0 U+ } i* m% _! [( _
/*寻找插入位置*/
! I8 E" P' z( Q! i nStrCmpRes = strcmp(pszWord, ___(2)___ );pCurrentNode->nCount
. j% k s/ Z- B1 ^ & n% ?. U( T( j
if(!nStrCmpRes)
$ a) _: a; Q, g/ |8 q2 v5 e {
0 X- S) P& U7 C ___(3)___; pCurrentNode->nCount++% K P) |7 L1 T: K$ W
% b1 C* a3 b4 ?+ k+ z0 F6 \
return;, h+ b( A% T& I; K4 y. A" \
}
2 T+ W' n" Y4 z3 p/ e1 M( | else
' k+ Y2 J7 r8 K* J3 s3 {% T {
! m1 |4 v+ O5 T5 g" e8 }) ` ___(4)___; pMemoNode=pCurrentNode6 p5 @( \3 z T# A
pCurrentNode = nStrCmpRes>0? pCurrentNode->pRight : pCurrentNode->pLeft;! d# q8 J: k$ y1 W9 T
}
4 t; B- R' o) v0 @ }
2 d+ W5 W/ J. N* g( } }
9 n' z- H) b( R 2 p% M1 Q" h' Q: {9 W4 V: }; S; W3 L
pCurrent=new BNODE;- ]* u; E k% c
_# h$ u6 V3 f( }7 q; P+ ~ if(pCurrentNode != NULL)
' W; t4 Z e: R; Z {
! H' W( r1 h6 K" D* m* l$ a; w memset(pCurrentNode,0,sizeof(BNODE));
0 Q7 N/ O: V7 E9 o strncpy(pCurrentNode->szWord,pszWord,MAX_WORD_LEN-1);
6 e4 _) X( k6 p) k/ e pCurrentNode->nCount=1;5 C, |# R# f' c4 A F7 ]
}+ l( B3 p1 |" _2 j
" v1 |/ J; n* V& X# q
if(pMemoNode==NULL)0 ?. ]- ^% e! Y- i5 S" f! {
{8 c$ }7 N' A4 M+ q: Y8 g4 ^
___(5)___; *ppNode= pCurrentNode6 V( \: c5 m w6 A% l
}
, q; w. }' M( d3 S: n2 l& O, j, e else if(nStrCmpRes>0)
6 {* k8 j/ X. X6 ] {
+ p* k* V) O' c- b$ c) s; J F pMemoNode->pRight=pCurrentNode;5 Q& W7 ~4 Y+ T2 m* F K* V
}
$ Q' l- _2 }1 n9 V" Z0 J3 n" t$ X else
% I0 @. m. a: [, ^, v {: f h" C5 I( }+ x: N# q
pMemoNode->pLeft=pCurrentNode;
7 g' D- H% h3 ]% b! G }. \ W( O' z2 m0 w6 e6 f' v: p
}
. A$ {0 V* y5 w3 q) s' F! X , e# o, ?* S. E
void midorder(FILE* pFile,BNODE* pNode)
2 E! }$ D% q& j, A3 q8 ~% q' `{- s) N; r6 U/ m& \2 ~' N( n) ^
if(___(6)___) return;!pNode||!pFile
0 I/ [1 o ^7 D6 N' ?4 y5 }- W* U 4 S. ?, T2 |8 z) W- i; o
midorder(pFile,pNode->pLeft);
: p' \0 O" }) ^+ t fprintf(pFile,"%s %d\n",pNode->szWord,pNode->nCount);
- l9 |* v% m4 N6 {7 f' f4 O midorder(pFile,pNode->pRight);
; S) y! B( t0 X- _# d7 u0 E}
. A9 }$ T# f; U) L
# a. w: P. A9 @. V. m( u& }void main()7 s) u5 m2 n- m$ H5 d
{
1 w% k3 F7 {# F4 T& A FILE* pFile=NULL;2 C# U+ {7 E9 u! [
BNODE* pRootNode=NULL;, |7 C2 B- C1 {# y, ]/ X- | w
char szWord[MAX_WORD_LEN]={0};
) h" @3 _- N8 |- n- F! I' X
& A3 E: b4 Z& n" e5 d @) m+ f. U pFile=fopen(SOURCE_FILE,"r");! F" q& F# u5 v$ R- j
6 ?, @/ R, \ [7 Y4 v A
if(pFile==NULL)
- G1 Q$ }3 V6 x' B9 z2 N {
~) g* B* { ]: D printf("Can't open file %s\n",SOURCE_FILE);# _9 k6 H3 G- E k% k
return;
d& D8 z% O! i }
" {# z3 M- K/ J; r; `0 U' W' W ! w* g" ~+ R6 K7 N* E! M7 n
while(getword(pFile,szWord,MAX_WORD_LEN)==1)
' a( S1 x# ^1 h2 n9 s2 X1 I {
6 L/ `" x G4 d2 m: w( {8 u6 O binary_tree(___(7)___);// pRootNode,szWord
( u8 D, P5 g: z6 L }) d- _; s4 V4 ?; L
% O( O3 T0 _* A$ I% O7 C fclose(pFile);8 O* x# C f$ j2 s" Y
" Q1 o0 D3 k" h9 G* L7 F2 U/ |$ r( @ M pFile=fopen(OUTPUT_FILE,"w");: a- J8 o. [# f1 ^, n5 i' G
midorder(pFile,pRootNode);
4 M/ T' u+ |- \ fclose(pFile);! Z% f& c. o, s, G4 D
}
( }# f' Q- ]) v$ r9 x三. 附加题(每题30分,2题,共60分)
- E# |( ]' E+ ?% {5 f6 {1. 从程序健壮性进行分析,下面的FillUserInfo函数和Main函数分别存在什么问题?
7 I# [$ @, U3 @#include <iostream>1 h6 E/ ]2 T3 g3 K4 ?
#include <string>
3 E0 V( C% L: L- {5 N
. A# L2 f0 Y6 U+ _#define MAX_NAME_LEN 206 P% z0 x l! J; W6 |- P+ d, L* D
" ^3 U4 d5 `* M9 n5 f- qstruct USERINFO' B6 d- t5 N! T8 [/ E1 r
{
+ b- l* Y! n% l E% V6 l2 \5 B int nAge;) L+ T) J& g. P$ p1 S$ f
char szName[MAX_NAME_LEN];
+ U9 [. R7 d8 J0 ^5 X};, }2 r, f a; U0 a1 j
& O# \8 J9 k. Qvoid FillUserInfo(USERINFO* parUserInfo)
; z3 ^' ~# p V$ e& e{
( ]- W% _6 H, i$ o" J0 V G stu::cout<<"请输入用户的个数:";0 X7 W. ~2 Z) V' D( r7 e
; d- w% V; D" O5 ^' A$ c3 x int nCount=0;5 B5 c* V) `2 S( E& @ j
std::cin>>nCount;
) F/ ~ _( n- z
3 H: H$ ]) _$ b$ [ for(int i=0;i<nCount;i++)
# ~/ w& q+ p0 |, e5 g3 N {9 i, a$ G7 R0 [3 E1 y" f6 g& B0 C
std::cout<<"请输入年龄:";
6 t: [8 Z0 \! ] std::cin>>parUserInfo->nAge;9 }0 R0 S0 E; `% w
/ _: D+ _7 j1 V( X7 h' N- [
std::string strName;, T/ i! B. s; ^3 J0 d: I w
std::cout<<"请输入姓名:";8 o M% s4 i, j% P
std::cin>>strName;8 @. y9 A6 J$ ? \
strcpy(parUserInfo.szName,strName.c_str());
9 U* d8 k& c4 x; v5 ?: M! b N }
$ _& [. H$ f: \2 {}
9 [# `+ G) D: e( d * `3 P# j+ s/ C- A
int main(int argc,char* argv[])
- b7 k& Z1 d* Z9 k{
6 i# I4 Y4 | v! l/ H4 C/ W USERINFO arUserInfos[100]={0};
, o) y7 ]4 K+ H- G m' D FillUserInfo(arUserInfos);$ E' U6 q8 L8 t0 X- Z2 o
) ^1 q4 x6 I' p. X% H n0 S printf("The first name is:");8 _- S8 x, ?0 z, a% I K" [
printf(arUserInfos[0].szName);- l% a/ p2 X8 h D& J
printf("\n");
+ L% Y" i) I% _. a8 I
. S" P$ ~3 k, K6 o2 [$ g; S return 0;1 V% g' N n& d( ^$ D% h
}' u6 j0 T. k8 G, J
2. 假设你在编写一个使用多线程技术的程序,当程序中止运行时,需要怎样一个机制来安全有效的中止所有的线程?请描述其具体流程.0 k* e: ~; a. ~0 b! u ]
- r/ k; E6 C' x+ t5 A' K% O
7 \, k2 f( V d, S1 ]: X查看名企2012校园招聘最新进度,请关注阿凡提求职公共日历:http://www.aftjob.com/home.php?mod=space&do=calendar
& D0 E5 n% E1 h: h- o! e: _百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html
8 E8 o2 }5 e! f7 \6 e d百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html
; T1 x0 ~+ b( }5 L8 @' X2012腾讯求职手册:http://bbs.aftjob.com/thread-608477-1-1.html8 p5 s/ _" g: v$ O0 V
2012百度求职手册:http://bbs.aftjob.com/thread-608484-1-1.html
/ ?2 c0 V7 v/ u. C, f/ i* Z2012阿凡提求职手册——IT行业篇 :http://bbs.aftjob.com/thread-607158-1-1.html |
|