找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1073|回复: 0

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

[复制链接]
发表于 2012-4-16 12:01 | 显示全部楼层 |阅读模式
2009百度实习笔试题
% c7 G. q$ z, R8 H+ v4 |. j1 {4 w
, Y. W& f: w) S9 T- K, P( f/ d2 V' V2 ?( [# K$ B' a
0 P7 w/ O# }/ d8 I, C$ t5 X7 S, i
+ I9 r- F9 F) w0 Q. @
一、编程题(30分)
9 J0 _$ B# I4 ^2 M, E8 j3 i* {* e, l输入:N(整数); }# n" K  Z: C7 f9 o$ c% i# H1 r
输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节, U4 y1 c! p/ n$ M( P
文件格式如下:
8 a  O+ e- E9 `* K' a字符串\t数字\n
6 w0 X% L2 M  K7 o# o
1 _4 c: S8 G4 A2 E) Y+ a说明:
' S! q/ U2 U7 i" ~6 ~1 i% o2 ^6 p5 @1 L每行为1条记录;字符串中不含有\t。5 w6 |! s& Z! p! r+ y
数字描述的是该字符串的出现概率,小于等于100的整数。8 N. E7 h/ u+ T* B. ^
多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;" Z" K  ]7 @7 c. x6 W5 m
如果文件格式错误,程序也退出。  g/ P; t7 A, S) S% x- \8 o

! @* c& m3 }' c  k4 ~6 i要求:
+ {1 g9 n7 c, S1 H5 C编写一个程序,输入为N(正整数),读入文件A.txt,按照字符串出现概率随机
2 D1 K$ a$ V- i: F- C" g# h6 M3 p' ~4 z, j% h/ y0 k7 o
地输出字符串,输出N条记录. {6 L3 H, V! C2 J5 b$ X+ l

" p& Z: Q4 a. I* H" D1 p例如:" Z8 z5 g1 w; L
输入文件A.txt; f( t4 m3 t' o" R0 ]' k3 Q6 ?( b
abc\t20
6 |4 E4 r6 `2 L# {6 g) aa\t30
; H$ p: P: k" f! Y: \& r3 G- }de\t509 a" e- X' q+ a
输入为:10$ W; E" n0 s/ n+ V" t8 @

8 j9 k) z3 |# q7 q2 Q( Z即 abc有20%的概率输出,a有30%的概率输出,de有50%的概率输出,输出10条记
0 j0 I) m$ S  F( ?
& I7 J, ^" n0 i  X$ t% Y( {* w  N
/ S+ V( B8 W# ]" A+ ~8 d+ z8 c以下为一次输出的结果,多次输出的结果可能不相同。0 A5 S0 W) j; G
abc
9 j; ]( ?- H9 n8 ma
9 F" ]/ N/ a/ ~/ n" l& |/ e2 Qde
2 \  p8 J8 ~7 P3 s3 Lde
0 \$ y) ]# Q* T! uabc' Y' `' S$ Q$ y& J7 Y
de
9 b. I4 b; U9 m7 ~a
- Z6 S! y# {# x  D& Y: |) hde; c( h: u0 K! P
a6 t& O/ X" @6 U' {
de
5 C' v# L# B8 X* {; F1 a5 L8 M* I/ @
二、算法题(35分)
  c. u4 F% a3 D. ]题目描述:
+ X' E+ U7 u1 K# s( A& y设有n个正整数,将它们联接成一排,组成一个最小的多位整数。
5 ?2 h' m# k7 D& Y' e: E% h# Z4 J# Y% n: f) r" \
程序输入:n个数6 [- U) o& B& {+ P, e7 z
程序输出:联接成的多位数
. `/ i, E0 A# d1 ]: d/ g$ g3 n
6 I* o4 L! y. j/ F. u5 H& I" \# @例如:5 j$ |7 ]( `  t  X
n=2时,2个整数32,321连接成的最小整数为:32132,
2 V9 w, G8 z0 \. m( zn=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355: D+ h+ h: Z/ ~7 u2 v4 Y7 {5 l
* e' k# [; x1 R2 k, j
[题目要求]
( K0 P1 y9 \0 h, }7 O1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算& R) B$ {) ?# t9 ]

+ [3 V' s( r; e& _8 x法。
: U/ K8 o, f4 G( [' _' e6 N2. 给出算法的时间空间复杂度。
( K$ _0 f# ^1 o# ~% G- k4 H3. 证明你的算法。(非常重要)
& a  q- z& ~8 b+ X' Q- A5 M$ z; s  q, D2 w5 J2 [0 [* L3 k. f5 t) O6 Y/ k
三、系统设计题(35分): }7 K' y3 u: b. {. o' h
在一个有1000万用户的系统中,设计一个推送(feed)系统。以下是一些预定义概8 I$ J5 b' ?) v

8 E( |9 W/ b" m
' l7 x$ V! [( D+ ?1、用户:在这个系统中,每个用户用一个递增的unsigned int来表示user id(简
  O3 \4 e* U+ c; k  N8 B# G" s
2 e; r* o3 s, q  F+ D% r写为uid);则uid的范围是从1到1000万的正整数。
0 P* w) w2 K5 \5 }0 I0 @2、好友:用户之间可以形成好友关系,好友是双向的;比如说uid为3和uid为4的5 C5 @% M5 y* u: |) D, _

1 H& i5 f1 ^( i9 {两个用户可以互为好友。每个用户好友的上限是500个;用户之间的好友关系可以0 o4 o1 Z2 O7 h* E; R6 H( z

& s$ U/ \0 o( E* Z9 d" w被解除' [1 y5 S5 _0 U% j# ^9 t- |* w
3、活动:每个用户只能发文章;文章可以被作者删除,其他人不能删除非自己发
3 z4 C; `( s! L/ r( A& m$ e: Q0 S7 W) }8 k
表的文章;每篇文章通过一个blogid表示。
3 m$ {  L8 }6 C  p4、feed:我们希望,每个用户可以看到他所有好友的活动列表,在这个简化的系$ B0 r; U) C7 `1 c4 I, A/ c
9 S% H& A' x! E, N1 h+ j& z
统中就是所有好友的文章更新列表。
& I' O, R  D7 j8 F5、访问量要求:所有feed访问量每天在1亿量级;所有的blogid增加量每天在百! k$ F% B  L4 z: ~7 M. b" r
' |3 R4 [0 o+ F2 R/ e1 [. }
万量级。+ D: ?7 c  g3 a# Z

$ G/ L3 l) z6 ]( }4 `题目:请在以上限制条件下,设计一个高效的feed访问系统。: @7 T+ U1 ]& e( ?8 H
! a, ~& `8 l: \) I
要求:
  O$ j! |- s( s/ U  t" z! ~; `2 O1、能够尽快的返回每个用户的好友feed列表,每个用户可以最多保留1000条feed5 p6 |( B: R5 J# A, C' Y9 N
: q, ]+ n% Y5 d1 t4 j8 }/ D
;feed的展现按照时间倒排序,最新的在最前面
! }! ?& Y/ l7 A2 p6 T' {2、用户删除某篇文章后,被推出去的feed需要及时消失。即每个用户看到的好友
, h- g" }( b) q6 m6 X" v7 u  l  L* z: d$ K4 J* _% O
feed都是未被删除的
. H: O# s7 b3 A7 ]3、尽可能高效。6 j  m! G8 j; C  W( c/ |1 ]7 i
2 |* V8 S: A( P0 |
百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html: Y7 t! [+ G+ P; u  q; ~. F5 G! Q, w
百度历年实习生招聘真题:http://bbs.aftjob.com/thread-606504-1-1.html9 z  g  ?  y! r; I7 s
百度2010实习生笔试2套:http://bbs.aftjob.com/thread-610484-1-1.html3 b% O( W7 S: \+ h
百度求职俱乐部:http://bbs.aftjob.com/group-4-1.html
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2026-9-18 10:31

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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