|
|
百度2011实习生招聘笔试题) x( h: x* _' f- X/ n/ h
' G; N& R4 m' H2 [8 I% A& s/ {
笔试时间:5月7日
3 |6 @' c/ ?: s ^
5 x/ K- [% x4 Z
) E8 H6 i1 p: a2009百度实习笔试题Zz% ]: Q( h- g, n1 p5 Y6 v
+ i, H# i! @7 I$ T# W9 L
一、编程题(30分)
* S0 i4 A7 t, O输入:N(整数)
+ ] t& I8 q/ ~) z8 O9 c/ E输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节( q2 h6 q. a4 W
文件格式如下:" u+ q- i% _- S
字符串\t数字\n# i$ N9 O& g3 a, W/ y1 c: @
说明:( c+ ], L S" B, F, { Q
每行为1条记录;字符串中不含有\t。% w0 e; _9 k' n* s4 r7 o- S
数字描述的是该字符串的出现概率,小于等于100的整数。* ~2 K1 f3 X2 k# N$ n
多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;% p9 L, ?0 `2 I E
如果文件格式错误,程序也退出。
; b) r( g" F0 O, Y9 v+ x要求:; e7 N, z! X! V5 P/ b" o* T
编写一个程序,输入为N(正整数),读入文件A.txt,按照字符串出现概率随机4 X( N0 u' Q7 Q3 D- S3 k
地输出字符串,输出N条记录7 H4 x! x% V/ E0 G/ O$ H& @
例如:( y* A* M( g! z* ^' J* f. R$ v. C
输入文件A.txt
/ I/ N$ m" }6 m) G5 \! |abc\t20
+ ^5 b5 K2 [$ `7 e' B6 A+ S/ ya\t30, U" m# {$ y$ v+ s( B1 ?$ E8 k3 M
de\t50' a/ [1 }2 b: {: X* n" G
输入为:10. \, o% W' T; \0 k7 `1 U
即 abc有20%的概率输出,a有30%的概率输出,de有50%的概率输出,输出10条记
: f- }" s$ F6 ~5 Z录
0 F" R4 j) @) x. @+ A6 H以下为一次输出的结果,多次输出的结果可能不相同。
2 r. X/ a5 m) V- e; |8 p1 a! habc
3 S, v9 F- W4 e/ ^, C9 D+ x" Fa7 R& j8 q: G7 k- P e X* P x! E8 u- a
de
3 b0 d. M# B2 \$ p3 D6 Ede
& @# z3 ~7 I- m7 Y1 wabc1 {( ^0 N5 G! [4 q0 j
de
% f1 {" ?- j8 Ia
" y' W, E+ k3 {; `( Gde
4 d1 x. Q4 F2 _% G) L+ _a
$ D( Y' w4 l; d3 k6 a" I; m# Qde. h, `7 |9 h- x, L7 o6 V
二、算法题(35分)
) p# a4 \% ~8 Q6 [8 v: O7 U题目描述:! D: {0 X" G: S. q
设有n个正整数,将它们联接成一排,组成一个最小的多位整数。' R1 ^, W9 l4 q7 O; B/ X
程序输入:n个数
6 P0 n8 ~2 m4 p程序输出:联接成的多位数$ K) L6 I& J) G4 }
例如:
& T! V# G9 X7 I; ]% G/ Fn=2时,2个整数32,321连接成的最小整数为:32132,+ w& Z: t$ @) M4 r4 n
n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355/ ~1 c! m# C* _1 g9 W8 |
[题目要求]
& Y$ v3 e! u4 n C7 v' x3 n. a1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算
6 y0 ?8 |: @9 K* S7 }法。; N9 ^$ k. u& W: y4 z, u* g; {
2. 给出算法的时间空间复杂度。
! O1 `' F- }% D6 z* V7 d/ [- _3. 证明你的算法。(非常重要)+ N1 o/ z6 F. ~
三、系统设计题(35分)4 y6 X: ^2 z% f4 \" `
在一个有1000万用户的系统中,设计一个推送(feed)系统。以下是一些预定义概
9 p e h6 v: X- V7 x- ]念) O0 j( X5 H4 G: S: q
1、用户:在这个系统中,每个用户用一个递增的unsigned int来表示user id(简2 `$ z2 }* B, T O j0 r
写为uid);则uid的范围是从1到1000万的正整数。
* A, ]8 K, ~3 m4 b2、好友:用户之间可以形成好友关系,好友是双向的;比如说uid为3和uid为4的: x$ w# ~7 d1 v9 a: n( a6 z" W% v4 E
两个用户可以互为好友。每个用户好友的上限是500个;用户之间的好友关系可以1 E! \1 k* r, X, Y% L3 x
被解除* y1 r% D2 u; }# b0 U; g
3、活动:每个用户只能发文章;文章可以被作者删除,其他人不能删除非自己发
; j& @( k2 \; J2 I O, }表的文章;每篇文章通过一个blogid表示。( N/ s; N* U# _' Y$ n: Z8 ]3 q
4、feed:我们希望,每个用户可以看到他所有好友的活动列表,在这个简化的系
4 @$ i) y! b9 i# z统中就是所有好友的文章更新列表。
8 n$ m1 r& A D4 w; b' r5 g5、访问量要求:所有feed访问量每天在1亿量级;所有的blogid增加量每天在百2 u# b$ [$ [0 [
万量级。% A- H, v3 e# ~* o$ m3 b
题目:请在以上限制条件下,设计一个高效的feed访问系统。9 R- f5 T1 p0 z- V- S, [( h
要求:
7 _+ \: Z3 e2 k5 y) q1、能够尽快的返回每个用户的好友feed列表,每个用户可以最多保留1000条feed
1 M+ y* F+ m5 T7 w. f1 P;feed的展现按照时间倒排序,最新的在最前面. O6 x) G$ l8 o$ d& \, h7 G: B( l
2、用户删除某篇文章后,被推出去的feed需要及时消失。即每个用户看到的好友
$ L. S/ q3 M5 }+ G) C1 R3 ^feed都是未被删除的
; ?& T, @9 C' W0 g c* P+ e3、尽可能高效。6 z" o5 i/ S% }% f) I$ g3 B
% p- v8 e0 m7 IZz, O4 O$ k3 B; I& w* z8 K( k- j
信息来自:阿凡提求职社区
4 t' g) ?9 k8 y5 H' z——
" P# X, L+ W4 D7 j) ^百度历年实习生招聘真题5 c+ _, `. E3 c8 y5 r* k8 L
http://bbs.aftjob.com/thread-606504-1-1.html
4 E& p# b0 i3 h$ r7 @4 b1 q+ a# c2010年百度实习笔试真题(全套,2010年5月)/ |& R) ] ~7 j6 O% w
http://bbs.aftjob.com/thread-606500-1-1.html
4 J% T; N- P1 g0 |7 T1 f5 c) k" u% D2009年百度实习笔试真题4 z( B% \' G5 w B; x! |
http://bbs.aftjob.com/thread-114579-1-1.html/ ^8 ^2 n6 A* l4 E7 y# K
百度这三年实习招聘必考的题目; K9 |% e* n( D r! a
http://bbs.aftjob.com/thread-606503-1-1.html
3 |5 \- f( j9 L. d6 g) N百度历年校园招聘笔试题 - H3 l$ `/ T/ z( L! i
http://bbs.aftjob.com/thread-417000-1-1.html 7 L. @6 }/ l4 G( b
——
! ?5 x F- t' t, s* ]) ^面试时间:5月8日开始/ s3 g& H1 l$ s3 C- i
工作人员电话通知笔试通过的同学到指定地点进行现场面试。 |
|