找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1455|回复: 0

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

[复制链接]
发表于 2012-4-20 17:17 | 显示全部楼层 |阅读模式
2009百度实习笔试题
5 T; G" ?1 Z3 U, D+ z: x. U: U, u0 o2 b3 c- M* D- ^% I
$ ~; |$ w4 R: U$ \; d  Y6 k
) D( W% j' E/ z4 R  o/ w$ ?! H% g( n$ N

  Y0 a( M+ B% Q9 p一、编程题(30分)
/ S3 ?0 Y7 X+ i5 b! Z( K( M输入:N(整数)6 m9 m  L# Y( s  @: y: j
输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节
$ I2 b# I. X$ C+ ~0 o. f) K0 c文件格式如下:& v9 q8 W$ e. C: {" F- S
字符串\t数字\n2 D+ ^' a( M; @% k
# u; @$ @) l: Y+ @
说明:
' [- T; N6 P. {! v$ n% @* f. u* d每行为1条记录;字符串中不含有\t。# m. a. W  V' Y" w" B" j- Q8 t
数字描述的是该字符串的出现概率,小于等于100的整数。
# ?. s0 T1 U6 b( j( {多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;
! H/ w; W& c, E/ v如果文件格式错误,程序也退出。
8 U/ d5 n% |5 z7 P: N  ?9 G( `2 u( r7 d8 M9 R) u6 E8 V6 u
要求:2 O- ~4 D! I7 I% v
编写一个程序,输入为N(正整数),读入文件A.txt,按照字符串出现概率随机3 }) p8 A! N1 s& I0 l
- u* s. c, E; N: n; f! M8 B: Z
地输出字符串,输出N条记录
8 T( c9 \6 g; X3 V8 t; U; V  C, M1 `0 A; u5 t: Y4 ~8 I; h
例如:6 s% ]- C/ v, H+ e' b+ B
输入文件A.txt4 S1 h) E2 d  H  }" e1 k
abc\t205 u6 l4 U# @  i0 i6 e! N+ \# h( ?
a\t30# s) u+ F" g4 r/ e9 z" B. p
de\t50- A+ n$ J& ?) Q; I3 X, B1 e9 M
输入为:10, \6 m# b( v5 w6 S0 y8 z* e! M9 x

8 s7 v+ Y! N% B8 Z5 y% W即 abc有20%的概率输出,a有30%的概率输出,de有50%的概率输出,输出10条记
6 N  A( V; C* Y3 g' `9 q0 D. m6 L3 U2 G  a) R7 x6 Y1 Q* \7 ?
5 U, n5 W2 K& f- b) Z
以下为一次输出的结果,多次输出的结果可能不相同。" A* z" n( K9 i) t6 d# q4 G
abc
+ w" A. E& Q: pa
1 G8 ~/ `9 b) e( U* Ede6 d/ N( y. T' H
de
# L7 R& p% b& ~! [( \abc1 O% U* I8 ~. S: i* f( |
de# w/ P5 u) V  b1 Q
a
6 A8 e  p& L9 _; y7 J( n2 vde
; f6 z& o* H9 G* O! s& Va
/ X9 R$ u8 p3 ]# Y) bde
( B! Y; o6 @& G  h! u; T7 R
) \& [2 y, s0 Z3 C6 p二、算法题(35分)7 s: ?9 G  x9 J) f/ s6 }: e  K
题目描述:
4 F/ ?  H, m, u6 s; X* K. W/ A设有n个正整数,将它们联接成一排,组成一个最小的多位整数。) l( P5 ~, Y' u: W6 L3 h
8 }! J/ x5 d+ @/ c5 R  c: o
程序输入:n个数
: K* [5 \6 j% C程序输出:联接成的多位数
/ X% Y9 N  [, K# N: z+ Q# e. [6 q$ @( `; @1 _) p7 p* ]* Z
例如:) c3 s8 o8 Q* n" V* [6 c" ^
n=2时,2个整数32,321连接成的最小整数为:32132,/ G8 f5 S/ x% J" p( B
n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355/ H1 k/ B4 F* h$ P# U- ~6 {% c  I

- s( }' @" @! I3 G[题目要求]
! F4 ]) s0 f# h% i# A9 S1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算
, B4 M  Y1 _; `$ Q# z, B; _1 w
法。, J% p5 N: m% h' {% Q5 y
2. 给出算法的时间空间复杂度。, x5 V: E) T# W$ ~  O" l2 c+ d  W
3. 证明你的算法。(非常重要)) p# q) g' `) J9 `

0 M' l9 P" C9 i& }) q/ f三、系统设计题(35分)
2 r3 K' a( N3 e& a在一个有1000万用户的系统中,设计一个推送(feed)系统。以下是一些预定义概
# T; e- x( A& V
2 N% ^. Q6 h9 ^: S+ G; Y
4 k2 c& P& H( n, b1、用户:在这个系统中,每个用户用一个递增的unsigned int来表示user id(简
" w8 ]& \7 E. b8 |0 s
5 B, [6 S  Q; A写为uid);则uid的范围是从1到1000万的正整数。
( v+ g" s; U# r1 Z! S$ j# B2、好友:用户之间可以形成好友关系,好友是双向的;比如说uid为3和uid为4的
3 t1 d9 V6 U7 n4 o/ b/ s
7 W5 U# \, V* R0 q( f+ p2 y5 f两个用户可以互为好友。每个用户好友的上限是500个;用户之间的好友关系可以
. V+ j$ T" x6 D3 m- o, o
: J3 b9 K) w7 f. i4 c7 t8 i( b被解除8 Y8 Q) {2 n, H& E$ w/ a! @! l7 s
3、活动:每个用户只能发文章;文章可以被作者删除,其他人不能删除非自己发, E5 T1 C: h( ^% C& B* M' [

( Q+ G  n7 x4 c! V) Q6 I% K表的文章;每篇文章通过一个blogid表示。) q! V! ?; d) l" R( G
4、feed:我们希望,每个用户可以看到他所有好友的活动列表,在这个简化的系
( O' k( Q1 f3 X4 e) ~5 d; D6 o
/ p, R) w! e6 R+ r" c2 h统中就是所有好友的文章更新列表。3 s. H5 E6 i$ H" l
5、访问量要求:所有feed访问量每天在1亿量级;所有的blogid增加量每天在百
+ x$ {/ j  \8 T" K- w/ Z0 g$ p: V2 k  a1 {
万量级。2 x, y" q' B5 M5 v& g" @4 o
1 n/ t& u, A1 K7 P( h2 F
题目:请在以上限制条件下,设计一个高效的feed访问系统。
- N* F6 h, v* M0 H3 j, l* t8 a/ s7 a# R2 L3 f; k
要求:; Q9 @# K7 x, }! b1 H
1、能够尽快的返回每个用户的好友feed列表,每个用户可以最多保留1000条feed- w& _2 ?# P% d' W
. z" e8 ~- b* T
;feed的展现按照时间倒排序,最新的在最前面# Y# G, X- y( _5 x( X# [2 M. w9 B4 ?6 @
2、用户删除某篇文章后,被推出去的feed需要及时消失。即每个用户看到的好友
2 K  ]% X6 a% L% b9 I
/ L3 h" }, M: a" `% yfeed都是未被删除的
' @/ `. f$ G0 x/ A* N8 [( \0 N3、尽可能高效。
+ h5 c  j2 a5 r. ^6 T3 t. a' |) w) G* w2 E1 k) i
百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html
5 A6 o9 l" |! B- c: R" ]& G百度历年实习生招聘真题:http://bbs.aftjob.com/thread-606504-1-1.html
. @! ]9 h! {: o$ Y- Q百度2010实习生笔试2套:http://bbs.aftjob.com/thread-610484-1-1.html! c8 e0 C/ D  Z& ^: `
百度求职俱乐部:http://bbs.aftjob.com/group-4-1.html
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2026-9-18 12:05

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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