找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1374|回复: 0

[其他] 2009百度实习笔试题

[复制链接]
发表于 2012-4-20 17:17 | 显示全部楼层 |阅读模式
2009百度实习笔试题
3 m" s) q' M0 B$ Z$ @6 b% [
# s6 M! C: r$ M: ^, D6 X
& U; o( ]9 p0 h' L# [$ u% U. R" s9 G; K0 a6 J2 F2 z3 V
4 B$ V: w( s: |
一、编程题(30分)
8 b; y/ |) G2 v/ u% {' i6 V$ J输入:N(整数)% ?9 M% o1 l/ v" i: _- \
输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节: @0 V5 `% K$ P
文件格式如下:
! q7 w& n/ M% J! t3 b6 e字符串\t数字\n
& y' W8 h3 X8 R- L0 @. X4 _, T" v# W# i) W# h" J
说明:, }8 Q" y1 l; \& a' B# E1 ]9 L
每行为1条记录;字符串中不含有\t。
! N& S! e$ A# T% {) O数字描述的是该字符串的出现概率,小于等于100的整数。3 X' c3 p8 u$ Z, O$ N- e
多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;
+ C' Z) w6 F3 A2 e& i如果文件格式错误,程序也退出。: a6 a1 x* c8 y( O4 @! {5 [: S& n

, f/ L2 \% P4 A* F# c要求:
: @: r' }# C; f$ K& p" ~, ~0 s编写一个程序,输入为N(正整数),读入文件A.txt,按照字符串出现概率随机0 d: ^3 r' k. j5 ~8 H

, B3 c4 y  M+ b地输出字符串,输出N条记录
8 V$ z7 w. i) t% e0 P5 d$ y9 @0 A: Q- U# A8 p
例如:
9 r! J, [4 G4 o- b$ U' E输入文件A.txt
# c* G% }7 N6 x5 a& Y2 u8 \abc\t20
! T& T- g4 X+ H* G- j& X* La\t30) _9 `# I8 ^, c0 d# S+ z
de\t508 s2 ]; z% h% ^" h6 e$ E2 s  R5 C4 y- ]& r
输入为:10
& ]0 E& r3 F3 w& O' T- y; T
' V* ]+ i3 S/ Y6 d3 ^6 d' o" ]" h. S即 abc有20%的概率输出,a有30%的概率输出,de有50%的概率输出,输出10条记
) g# q4 A  M3 q2 n) G4 ^- c5 a
  X+ C( \! z5 V2 k9 a- n/ ^6 y" s+ E1 ^/ p3 c8 @
以下为一次输出的结果,多次输出的结果可能不相同。7 W6 }2 x' K* a- H4 z
abc8 I( u4 D" f( z0 V$ \
a
; z- }! U; W( k7 a5 C' A3 [de
/ k; }# k/ i. `! Hde
& o1 s( `9 ^# \9 f" [/ K6 Iabc
6 R: L4 a* \5 M2 ~de
, r& L' ~5 r5 Z4 o! @/ j; y& ?2 \a1 r' v& k; W; _; G, V# A( J6 t
de4 B/ B: L8 Y$ O
a/ J) c9 m' [2 F: o  w* @
de  p4 X6 w7 I6 r" I

  J8 [' J9 N3 E$ ~/ a& }二、算法题(35分)% l/ Q7 R% f5 V8 n
题目描述:8 H" t0 v1 c9 ]5 |8 K
设有n个正整数,将它们联接成一排,组成一个最小的多位整数。
8 `3 T+ w1 _. }4 n. W: n+ x9 O7 @. J. w
程序输入:n个数6 C; V: D& \5 t/ U
程序输出:联接成的多位数) {& u2 q/ Y8 d9 N7 H0 o! T
4 P; _3 h, b0 M% \' N# X. K+ c
例如:& P% l/ c2 K% u) C
n=2时,2个整数32,321连接成的最小整数为:32132,
# [: T& w3 H+ k* d5 f4 X; dn=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355
* ^' z6 m( `* S& q
+ c4 i# @4 n% h" \! p[题目要求]
5 {0 d% }/ M, `- P" e8 n1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算
' _  n1 A$ D6 E! S# \9 F1 ]8 E8 E2 A/ E. |3 R
法。( P5 p; P, L# p
2. 给出算法的时间空间复杂度。
' P7 w  [; V" }' g: W' o3. 证明你的算法。(非常重要)
( b" r& F0 e5 _$ J) B7 e; B. ?- ^4 p$ ^( s' E
三、系统设计题(35分)! Z4 e- t; |1 w8 E  Q. V
在一个有1000万用户的系统中,设计一个推送(feed)系统。以下是一些预定义概2 ?$ m8 \$ j: Q: s6 s0 m

! \" v7 i0 p/ H) I% h& i2 B
0 R5 e* J( O( l) Y1、用户:在这个系统中,每个用户用一个递增的unsigned int来表示user id(简
6 K" t+ _' w  @  a0 b, e
  I" c) @% g% Q: I7 o1 @: g$ r: S; g写为uid);则uid的范围是从1到1000万的正整数。; c. k3 L' L) S6 [+ O% W
2、好友:用户之间可以形成好友关系,好友是双向的;比如说uid为3和uid为4的8 H$ Z: Q4 b% v2 S1 Z5 a

& m. r/ p) n7 l5 I# `! i7 Z* x两个用户可以互为好友。每个用户好友的上限是500个;用户之间的好友关系可以! l: N9 G  k! n# H% ~7 r: j
' ?% i7 x2 s' ?% ^
被解除
+ H. ^( I$ ~" H/ U3、活动:每个用户只能发文章;文章可以被作者删除,其他人不能删除非自己发9 n7 q3 r$ o( P/ @5 o. h, c  N

/ s" L+ }/ e* g7 }- ~, b6 [( V$ n表的文章;每篇文章通过一个blogid表示。  |' F8 V. w0 r" c/ N
4、feed:我们希望,每个用户可以看到他所有好友的活动列表,在这个简化的系
" X0 a4 Z1 x$ s* l+ l8 y- P
: A7 |' O4 s+ \+ x" \4 }, a统中就是所有好友的文章更新列表。2 |3 M3 G( `: e2 j
5、访问量要求:所有feed访问量每天在1亿量级;所有的blogid增加量每天在百
5 w+ F2 H! \: `& C. U' b
5 k: x7 N4 ]$ v& |. R$ O/ ^6 [# j  \, B万量级。8 o1 H$ M& C7 {; H
- Y$ U, o7 b; ]4 a+ E( i
题目:请在以上限制条件下,设计一个高效的feed访问系统。" p& J5 q: [; _6 L% m
$ O' a- J% ?$ |1 b
要求:
0 F/ ]; E+ c9 O5 p/ j8 n" s* h# G1、能够尽快的返回每个用户的好友feed列表,每个用户可以最多保留1000条feed
9 K. L) X+ D1 S" f' _8 L: c
# ~1 Y2 `3 F9 m;feed的展现按照时间倒排序,最新的在最前面
/ U, v5 L1 s! }# j0 P2、用户删除某篇文章后,被推出去的feed需要及时消失。即每个用户看到的好友
# y1 y, q8 H* l' l6 e1 J& h5 S5 W$ x+ H! ]" ~
feed都是未被删除的5 a& T3 b7 W$ b! c2 _
3、尽可能高效。
, M3 ^9 a; N! k' f1 c
0 B9 j2 {& X# x  U+ C! L! i' L: O百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html2 {) [- O1 @" d( H/ W6 W
百度历年实习生招聘真题:http://bbs.aftjob.com/thread-606504-1-1.html
3 v% p* m6 {* f百度2010实习生笔试2套:http://bbs.aftjob.com/thread-610484-1-1.html
$ U  W  v/ [( ]0 _* u9 D百度求职俱乐部:http://bbs.aftjob.com/group-4-1.html
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-12-14 08:28

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表