|
|
腾讯2012年校园招聘笔试
+ w% E# _7 q6 g' }+ W
# S2 W" M- o# k( R* Y0 { X' O$ Y' f
: f2 U( \9 a4 [0 U2 h2 c. W" {1 Z1.笔试时间% w) K" o8 n7 a1 y) j* ^
2011年10月各地区笔试 $ \; ~/ `2 k c9 [! L7 P O
合肥,重庆,大连,武汉 笔试时间为10月9日
9 e8 w, ~" v) j% f) Z北京,深圳,南京,沈阳,长沙,上海,杭州 笔试时间为10月15日
; n( `0 k5 K% e) M天津,厦门,香港 笔试时间为10月22日
# h- b' [! K2 L5 U4 h3 o7 L+ h1 Z, O
腾讯2012求职俱乐部:http://bbs.aftjob.com/group-47-1.html
: x0 {1 @, l4 x& L腾讯2012求职手册:http://bbs.aftjob.com/thread-608477-1-1.html. B5 w) w$ z s9 T& Q* M
5 L5 r& _. H* y2.宣讲会剩余时刻表
/ b7 L/ a$ S9 @6 I6 x& N学校 宣讲时间 宣讲地点
* B; }; x" j ^) U `重庆邮电大学 9月26日 19:00-21:00 第三国际会议厅
B$ _: u: @: L( o1 z( O1 Y& s# N0 k重庆大学 9月27号 19:00-21:00 B区勤工楼2楼报告厅
9 c! ~* Q% u" Y9 q0 i: P m0 n/ w中国科学技术大学 9月27日 19:00-21:00 西区学生活动中心2楼学术报告厅
. M6 b+ c8 i/ M1 ?0 v复旦大学 10月13日 18:30-20:30 张江校区行政楼106号报告厅 2 G5 e# d- C5 S4 Z6 @
上海交通大学 10月14日 13:00-15:00 闵行校区光彪楼一楼多功能厅 / S3 ^! Z& a# O- n: ~
浙江大学 10月11日 9:00-11:30 玉泉校区邵逸夫科学馆演讲厅 . o: K6 K/ y V6 x. h# W
北京大学 10月10日 15:00-17:00 英杰阳光大厅
0 Q. Y; j& Z% w3 H北京航空航天大学 10月8日 19:00-21:00 学术交流厅
1 d" ~! t5 ?5 [) s9 C深圳大学 10月13日 19:00-21:00 科技楼一号报告厅
/ b. X7 O( F5 ]3 g; Q9 x; O南京大学 10月13日 19:00-21:00 科技馆一楼报告厅 5 f% U* H: R2 K' ^7 I
东南大学 10月11日 14:00-16:00 逸夫科技馆报告厅 4 U) N V! I- h3 ^, M: w. ~
4 y& s! N# r9 k2 W E7 p$ r+ p$ V
3.2008年腾讯技术类校园招聘笔试试题(A8卷)
" j( o4 j% b2 ?2 l5 ohttp://bbs.aftjob.com/thread-93654-1-1.html- x1 u' N7 r: N6 }' ~
姓名:______________ 联系电话:_______________ 简历编号:____________
& c, ^( T/ l% E% @/ R/ i学校:______________ 专业:___________________ 学历:________________( u2 ?; `5 J; P" ~4 H
一. 单选题(每题4分,15题,共60分)
4 f' F) G3 I$ O& A( S1.考虑函数原型void hello(int a,int b=7,char* pszC="*"),下面的函数调用钟,属于不合法调用的是:
5 S! k' H: P% e) q4 u6 \ F# f( BA hello(5) B.hello(5,8) C.hello(6,"#") D.hello(0,0,"#")
# l E3 X6 T& @! v( S, X" }2.下面有关重载函数的说法中正确的是:
+ _0 [! \ f. O3 q A.重载函数必须具有不同的返回值类型 B.重载函数形参个数必须不同
3 @) |# x# u- n0 { C.重载函数必须有不同的形参列表 D.重载函数名可以不同8 Y% B6 I& X6 H8 l, |) u3 j" W
3.分析一下程序的运行结果:* l# _. s0 V m, o3 W9 R0 ]
#include<iostream.h>
# `8 H1 q& ^& h( K5 Z* D$ Cclass CBase; i$ _2 U5 m" J* N
{, O5 C4 L- J+ x3 X, A) s* h$ c
public:' p4 k# c: R) S
CBase(){cout<<”constructing CBase class”<<endl;}& ~4 L4 s7 Y4 M9 _7 k$ m
~CBase(){cout<<”destructing CBase class”<<endl;}* S1 |- ]1 d P r9 L2 X
};4 `# R- q9 m! S1 _( A6 F
class CSub : public CBase
0 F/ f5 V$ ^, i4 x2 g) R{
& K3 l0 U/ A4 j1 @7 e& upublic:
, P1 {( V$ p; G1 u% K6 o# \CSub(){cout<<”constructing CSub class”<<endl;}
8 Q X/ W. Q# E7 q* B2 V" F& o; C~CSub(){cout<<”destructing CSub class”<<endl;}
" E7 U4 G8 N: |/ S8 l};: w$ O$ y6 U' e4 L; i. n
void main()
$ F* ~/ r& U' i) V* w) G2 @9 P8 t+ y{
# F2 v( }1 U7 R CSub obj;
7 c% T5 p. t% t) w}9 T& ], ~9 ?6 t8 |
A. constructing CSub class B. constructing CBase class
6 y) A8 R" g/ u6 N5 k+ S, ? constructing CBase class constructing CSub class* O+ ^. l* N) A" r
destructing CSub class destructing CBase class
1 x3 C! o% j/ ]4 b! j2 c# u5 k; ]3 r destructing CBase class destructing CSub class
; Q7 i7 ^& u6 P1 u# r" m5 WC. constructing CBase class 1 h+ @0 \ K" C( P
constructing CSub class
5 Z$ U7 _$ {: p destructing CSub class
( i+ T2 Y4 G4 b8 J* a' b' k; Y5 @ destructing CBase class
/ ~# B! w& S. Y& _( z5 j D. constructing CSub class
# o6 y8 x5 Q$ ^) A- }* K7 u; N M/ X constructing CBase class
9 z) G5 }0 i5 T2 f! { destructing CBase class9 v/ N& w7 Q1 v) r; R/ h. @
destructing CSub class
& H+ A u: [5 N* H4 W4.在一个cpp文件里面,定义了一个static类型的全局变量,下面一个正确的描述是:
9 o3 I: H; ~8 R8 w" S& FA.只能在该cpp所在的编译模块中使用该变量9 R* v5 W9 P' G
B.该变量的值是不可改变的) B& m# Y$ D; Q. b2 ~
C.该变量不能在类的成员函数中引用$ A6 a: y Y4 ?# \- S7 W
D.这种变量只能是基本类型(如int,char)不能是C++类型2 A9 z O3 Z) B; W ?9 @4 ^" U
5.观察下面一段代码:5 q# i* _/ \! n& Y
class ClassA
; k, |$ Z& t5 _$ \; u{ K0 @$ t" r# y" r% a- w7 C+ _6 r
public:
! v5 v! d! }+ p& `virtual ~ ClassA(){};
0 F U' r, v5 c/ Z$ W F6 svirtual void FunctionA(){};
& R3 A- m& L+ ], ~0 G" ?( U};5 I6 H6 x& w2 y+ I! E
class ClassB
* S0 V7 A7 _! D" f8 q: R3 h{3 B8 U9 N y/ a: A8 p
public:
. `' p, i3 R; r' Y1 _ virtual void FunctionB(){};& Y; d! R8 o1 P4 z( o
};
& l) z; k6 u9 C: T% a% ^) Gclass ClassC : public ClassA,public ClassB& m: X8 U6 l, N& @! r
{/ ?* Q* A/ E' U
public:" W, ~9 v; T" t8 R) `
};
+ c8 b! s: ?7 ?3 c
4 u8 A& l) y; i/ JClassC aObject;: \, e5 u: S& P# L
ClassA* pA=&aObject;
. Y9 f3 ~: X/ t; eClassB* pB=&aObject;# ]* i" ?3 k9 M# K5 J" x* A
ClassC* pC=&aObject;
/ A# q" \( f8 ]; R7 z7 v关于pA,pB,pC的取值,下面的描述中正确的是:
! s m( ^' K- E& }7 x# U# |$ v) RA.pA,pB,pC的取值相同. B.pC=pA+pB
; X4 N9 o' @8 c) C& iC.pA和pB不相同 D.pC不等于pA也不等于pB
3 s+ w7 z Z3 l ?3 u1 r a2 \. }6.参照1.5的代码,假设定义了ClassA* pA2,下面正确的代码是:! Q( s9 [6 D' p& j' R1 V) C
A.pA2=static_cast<ClassA*>(pB);
" }1 }! ?5 d" nB.void* pVoid=static_cast<void*>(pB);& z. A! X& v, W+ I6 b& X4 ]: G
pA2=static_cast<ClassA*>(pVoid);$ I! O2 m- L# U" S+ t( A. i
C.pA2=pB;: k# O0 g2 m+ h
D.pA2=static_cast<ClassA*>(static_cast<ClassC*>(pB));
4 ?! h: e2 W+ B0 z$ N4 A: [ ^7.参照1.5的代码,下面那一个语句是不安全的:( q( u5 s8 H* y" O' F& E6 F
A.delete pA B.delete pB C.delete pC d2 ^# {4 U3 ], D) A& e% k( X" a
8.下列程序的运行结果为:
7 y' Q0 {2 d/ `) }6 g5 q#include<iostream.h>
7 [: o) f/ @# |6 ?- H* Y" Uvoid main()
* D$ h2 X6 F, m# e1 h{
( W8 i0 S( b7 E! R4 Q8 V8 qint a=2;
- W) O* i0 s8 ?. e/ w6 tint b=++a;- C C6 `; l. c: U( x& a
cout<<a/6<<endl;
) h& \- y# V& Z C5 _" K8 U. t}9 q% `! A; x0 H* S) h
A.0.5 B.0 C0.7 D.0.6666666-
# d7 C. z7 X( n) G G: F1 \9.有如下一段代码:: b: L n) x1 P
#define ADD(x,y) x+y. V# L1 ?+ `: l- f+ R8 `9 ~
int m=3;2 O; k* E- \+ e( o+ I0 |0 |
m+=m*ADD(m,m);; J- B3 b/ S! h. C: Y- r! V
则m的值为:
$ U' R! C7 ?$ q6 { A.15 B.12 C.18 D.58
* [3 @( ~: W" {10.如下是一个带权的图,图中结点A到结点D的关键路径的长度是:
, K2 h, J2 M% I eA.13 B.15 C.28 D.58
& _1 f2 ?5 P. A7 M* Z, D, l8 v k" O$ _% L+ M
11.下面的模板声明中,正确的是:
6 I a1 k6 ^* n! MA.template<typename T1,T2>
' Z! j8 T& M2 m; ~/ n4 I) u+ \' hB.template<class T1,T2>; V4 Z- ^. n2 p& B% X
C.template<class T1,class T2>! H# Z% j5 s) q& T; Z
D.template<typename T1;typename T2>: C0 O( L0 W# H
12.在Windows编程中下面的说法正确的是:0 H$ q: m& d7 v( s
A.两个窗口,他们的窗口句柄可以是相同的 B.两个窗口,他们的处理函数可以是相同的! }' S4 Y- Q3 G9 n' j Y( Q7 _
C.两个窗口,他们的窗口句柄和窗口处理函数都不可以相同.# ^, d8 G* o/ c+ m8 |3 ~
13.下面哪种情况下,B不能隐式转换为A?; R2 i. z d+ q/ q r6 e2 \6 e! m
A.class B:public A{} B.class A:public B{}$ Q$ x# I p' N
C.class B{operator A();} D.class A{A(const B&);} O3 W/ q ? L; v: ?9 B" T' q
14.某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是”该防火墙能够( )”.! y1 ^8 `4 P7 u8 ?: Q
A.使公司员工只能访问Internet上与其业务联系的公司的IP地址.8 P; y) }' s# f* n: L. j
B.仅允许HTTP协议通过,不允许其他协议通过,例如TCP/UDP.
8 E- V; m, m. y* y/ }3 O) wC.使员工不能直接访问FTP服务器端口号为21的FTP地址.
! c. M( J# r OD.仅允许公司中具有某些特定IP地址的计算机可以访问外部网络
0 q, m& C! [$ c( V/ u0 k& y+ T# J15.数字字符0的ASCII值为48,若有以下程序:' o/ P# L7 X, D2 J& q$ N1 b& C
main(), r( u3 p! L7 f T
{* o; y ^7 k6 F' ]* V1 V
char a=’1’,b=’2’;7 P! B: c# F( l4 z1 B' F& a
printf(“%c,”,b++);
- u) v8 _ |0 S! W- m# I& P, Hprintf(“%d\n”,b-a);2 _9 w3 O% w" W2 M& W& |9 z# w
}
2 |$ Q9 f4 g' V: R程序运行之后的输出结果是:" q& _2 ~7 \( a3 T& e0 E
A.3,2 B.50,2 C.2,2 D.2,50
' n* d2 |$ I `二. 填空题(共40分)
5 c" ~, h4 B2 [) @; F$ ]本程序从正文文件text.in读入一篇英文短文,统计该短文中不同单词和它的出现次数,并按词典编辑顺序将单词及它的出现次数输出到正文文件word.out中.
- I p5 k6 h3 T; H. w$ ]程序用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历经过的二叉树上的节点的内容输出.- p, O) o! A" }$ }$ U3 b% y1 ?
程序中的外部函数% b, @9 F7 a; S+ F
int getword(FILE* pFile,char* pszWordBuffer,int nBufferLen);+ {7 `0 w/ {0 P! _- d& I6 w& D
从与pFile所对应的文件中读取单词置入pszWordBuffer,并返回1;若单词遇文件尾,已无单词可读时,则返回0.
9 ~2 U- w# t7 k9 Z, {5 ^#include <stdio.h>
E; M' e- A, G- K5 {#include <malloc.h>/ L- ?! T$ D* L" o* y( F9 t8 F
#include <ctype.h>
6 E5 k/ d8 }9 g! i2 K#include <string.h>
$ `/ N; p+ Y4 g ! H. M; p- k5 y8 p/ _- P
#define SOURCE_FILE "text.in"/ S; ~+ Y$ T( ~/ }3 D# s
#define OUTPUT_FILE "word.out"
6 B3 \2 x3 E1 T#define MAX_WORD_LEN 128# f4 T5 b" \; q
% u1 V. E2 N! X& l- G- @
typedef struct treenode
' U1 B/ l( k" S0 V+ N2 y: P{
! a! M: z0 y! e% V9 c7 \ char szWord[MAX_WORD_LEN];
2 j0 E' y* Q- a! n) f int nCount;
3 \0 ~' K* u0 X, X$ z: u" _ struct treenode* pLeft;+ M6 n* T! B( u6 q8 |
struct treenode* pRight;
' k1 N! h% D6 E, V- o" ?3 @+ j }}BNODE;
! D- L; L0 c# k* m! u K& W8 L6 o4 h2 E
int getword(FILE* pFile,char* pasWordBuffer,int nBufferLen);- [: u" \* |& x
2 b: T' ?) |- g2 x
void binary_tree(BNODE** ppNode,char* pszWord). t4 f/ ~, H( i# a, `( Z
{
% e; W6 H4 s% u if(ppNode != NULL && pszWord != NULL)2 N+ }. x2 s) b
{
1 E* U% B4 `6 C. a% `: I BNODE* pCurrentNode = NULL;
0 k5 t2 z' T6 a' h BNODE* pMemoNode = NULL;
2 y( C4 A* B5 {0 }2 @ int nStrCmpRes=0;
% ^' h C6 W/ E( U$ |
% E5 n$ j2 b* C0 v2 N$ I% D) z ____(1)_____;pCurrentNode=*ppNode
" g" P& H! c6 q* t' V& q + |) F; N% o2 R: d/ u) l1 {/ X' p
while(pCurrentNode)- T' `) W& c, y; U7 e. l
{
. P; l# } p! r2 a+ [; B /*寻找插入位置*/. u) }# z& \3 ] l4 Y/ S1 e0 C
nStrCmpRes = strcmp(pszWord, ___(2)___ );pCurrentNode->nCount$ x' O+ w- K0 B6 H- i, m7 m( N
9 c8 ]" [/ V% z9 Y0 I: u* b2 i if(!nStrCmpRes)* e, b0 j' |5 ^; w, `# y& r
{0 ?. W) E, ]1 |+ [% a: ^: H
___(3)___; pCurrentNode->nCount++
8 C( j2 E5 L# y2 K [ . v) P% w8 {1 I: P1 G
return;2 P6 i3 a L# r/ X1 b7 Z L
}7 d$ z: x8 G$ Z8 ~2 H$ }
else
7 E q. S: y6 [4 o6 m: l {0 f0 g: [! C S4 e
___(4)___; pMemoNode=pCurrentNode( l7 I! L7 C# @: f: \) I& _
pCurrentNode = nStrCmpRes>0? pCurrentNode->pRight : pCurrentNode->pLeft;
% [2 T: ^2 n6 i6 q, c. ^# D }" P% R8 q$ m. B
}: }2 _9 f' G% w3 B+ U4 P3 _" j
}
* l, r: H8 R) r * i' ~: K0 s5 n: |: v) n
pCurrent=new BNODE;
3 {: N) }$ }% {5 a" k) G3 |
7 B1 p# h/ ~+ ? if(pCurrentNode != NULL)7 _- v7 N7 H) I$ ^
{: w2 V: ^ t h
memset(pCurrentNode,0,sizeof(BNODE));' [& |4 ~# h4 O4 n! m1 o
strncpy(pCurrentNode->szWord,pszWord,MAX_WORD_LEN-1);! a, M( l V( \( z, }: X
pCurrentNode->nCount=1;6 l7 d* z8 \' N ]$ ]$ W2 F
}
# O4 Z6 O X) v
3 Q0 r9 M" K3 q if(pMemoNode==NULL)
( g0 B" }) _8 j$ n: C5 ]* I, T {
+ X" |% L7 K9 T" O j; s ___(5)___; *ppNode= pCurrentNode @' j7 D, j5 |
}# D3 W- K' e- {& k6 S. ~
else if(nStrCmpRes>0)8 O2 o! Y! T) |! u
{( m6 V2 T9 y+ f0 q' T/ `
pMemoNode->pRight=pCurrentNode;& n# S# G+ V. U8 d( h
}5 U, y9 i6 } W/ o8 L, ~3 [0 d* ~" P
else
; _# Z! l" F6 h( u$ V {
& E. C% F3 J$ k+ I7 R& p pMemoNode->pLeft=pCurrentNode;- S/ Y, f' T, u) a0 m$ t+ _
}
) t2 i$ N B2 N6 V a}7 L7 {! o- c( P8 A2 ~
4 L6 A) m) a& J) c' }
void midorder(FILE* pFile,BNODE* pNode), s: c5 ^1 ^' ?
{" V/ M4 Y! @; V( O
if(___(6)___) return;!pNode||!pFile. H/ k$ N* C8 S- J9 Q
: o Q3 [. w/ K: m
midorder(pFile,pNode->pLeft);) ~! t7 n. r! d
fprintf(pFile,"%s %d\n",pNode->szWord,pNode->nCount);
# n0 P2 S0 {# R' w3 g midorder(pFile,pNode->pRight);
# k' f: U* z0 N}
4 @4 R/ X4 s, Y8 Y, `2 t
4 G; q% _# i, {% ?4 n& Wvoid main()6 Q, v, R, }' D% f: E+ }, ?( ?1 d
{, ]" o8 @$ H7 o% W* T/ j& |* F
FILE* pFile=NULL;
1 l$ O$ o: B7 v# H7 H BNODE* pRootNode=NULL;
4 {- K# O/ T5 ~) x/ z( v0 R5 I) } char szWord[MAX_WORD_LEN]={0};, i" n4 e6 n+ y
- {0 A/ I! z) l+ U! g. F4 `4 r& A) N% W# U pFile=fopen(SOURCE_FILE,"r");1 P6 d3 m0 B/ A
- x6 }" w. ]) ~( j; q4 U if(pFile==NULL)
0 S1 T7 `: ?3 P$ @7 A( m$ i( B {$ J2 U- p% \1 v4 P
printf("Can't open file %s\n",SOURCE_FILE);6 e) g+ b6 o0 u6 i+ x B
return;
! C# t8 _+ m4 w }: N$ R* f. L2 \
9 g, Y1 V" E$ O& c' F) d
while(getword(pFile,szWord,MAX_WORD_LEN)==1)8 @- x! Y* l5 y5 n
{/ S8 Y! J9 x2 ^' g" G$ g0 z
binary_tree(___(7)___);// pRootNode,szWord
" e/ ~, O4 M; D/ M, [9 w l }! @* L; s9 x) o3 D6 C" K2 o; C
* n- a0 {- k0 J: }- M fclose(pFile);( j/ u# I8 r3 z `
! R# k! n4 _0 J4 ~0 `& X pFile=fopen(OUTPUT_FILE,"w");: t) B3 k1 V0 ~, F- f. g+ N4 j( i
midorder(pFile,pRootNode);8 m/ m( J( x* G8 G8 Z
fclose(pFile);
9 ~ d" R) v3 ?. G}, |* [) L- e( i5 W% M
三. 附加题(每题30分,2题,共60分) J9 w' d/ G5 O* u
1. 从程序健壮性进行分析,下面的FillUserInfo函数和Main函数分别存在什么问题?1 r9 K8 L5 G' X
#include <iostream>- t: `3 D+ k- K: b
#include <string>
3 q7 b8 k0 G' N& B* F1 a3 _8 H 6 T; G" w8 c" }, F; O
#define MAX_NAME_LEN 20& F) E' \6 {0 k' _ c! n& e
& l n+ X% ?$ l ]3 ^3 k: G
struct USERINFO$ E( E$ t: D' o/ d- J
{. p- R F' k( p+ g
int nAge;
" y, d6 |/ p& Z; j4 _( t$ } T char szName[MAX_NAME_LEN];1 E5 m! m6 G6 x3 e2 r
};' X0 C1 }6 i( F
1 q/ c5 ^; f) P) E& Dvoid FillUserInfo(USERINFO* parUserInfo)
4 z' z% y. m' k; N! |{
' h2 Z! y- w# r3 C- w% J* p" [ stu::cout<<"请输入用户的个数:";- K: i" r# G) j: c% J4 H+ e9 W
, ?; Y8 ^! ]9 l; z! h
int nCount=0;( c. v4 V" g7 W6 ~1 E/ m5 v
std::cin>>nCount;
2 \7 ^5 f. X% |( ^$ M+ p
! ]. ^0 s0 N; E7 L5 S for(int i=0;i<nCount;i++)
: d( C. `1 h. H6 Z4 {1 K5 C {+ c* v, W. B% A: Z- Q
std::cout<<"请输入年龄:";
* }5 K! }% w1 l% ^8 w std::cin>>parUserInfo->nAge;
) {- \4 C) g6 J9 \
; J) Q8 U# U7 T3 H8 L: L7 J$ t std::string strName; D4 H% H8 W6 y, [0 T( J9 n9 o
std::cout<<"请输入姓名:";5 I3 o/ z5 [5 q! Y
std::cin>>strName;
0 `& K- p+ V( o, r" {+ `( ~, y strcpy(parUserInfo.szName,strName.c_str());
2 @: y" R$ c$ P _ }
, C+ h* w" C" g9 T8 D}8 F, `) W: c1 Q6 a( F
9 X* N- C3 z2 t# Gint main(int argc,char* argv[])
- G6 V2 t1 D1 w' H" J{
( G0 X ?' q2 }! ]1 b' v USERINFO arUserInfos[100]={0};& O0 h, g2 r, `
FillUserInfo(arUserInfos);
- L1 R8 [' F2 x& Z& `7 B5 Y# Q% a ' t( @) A9 U( X0 O& h0 }
printf("The first name is:");3 J1 O, \, `0 c: u" k
printf(arUserInfos[0].szName);
( O2 i- L. C V T7 B% {# J printf("\n");2 N0 w6 c' x, G, w$ ^
( j9 P4 f1 z, ]/ d, _% N return 0;; g' ^! [: a# Y4 z3 s/ k8 j; G S8 W9 E
}* U/ k0 q$ W6 ]/ a, Z
2. 假设你在编写一个使用多线程技术的程序,当程序中止运行时,需要怎样一个机制来安全有效的中止所有的线程?请描述其具体流程., i% `4 U; M4 k- g q$ y
; g+ u0 C. d9 w- S0 F0 L( |( x: G4 J( M! [* z0 \5 O
查看名企2012校园招聘最新进度,请关注阿凡提求职公共日历:http://www.aftjob.com/home.php?mod=space&do=calendar4 H1 v; j; T% W8 R& }
百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html
6 r1 l/ `3 ?% s! k百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html9 u; ~) U7 r" ^+ Q, o
2012腾讯求职手册:http://bbs.aftjob.com/thread-608477-1-1.html
4 |0 o5 ^9 a5 }- e' H$ q* M5 z1 \2012百度求职手册:http://bbs.aftjob.com/thread-608484-1-1.html
( p( g8 w5 Y" O$ N7 z2012阿凡提求职手册——IT行业篇 :http://bbs.aftjob.com/thread-607158-1-1.html |
|