找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1427|回复: 0

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

[复制链接]
发表于 2012-4-20 17:17 | 显示全部楼层 |阅读模式
2009百度实习笔试题3 ~  B9 {/ F  S* J4 Q% e$ z. `

0 s5 s* S7 p% x0 p8 w/ [4 `- N7 q/ O- y* K( ~: N5 q" [( z

; X4 T$ I1 Z8 O2 N$ b9 |* n   a- v8 a) }, _. p! ~- o
一、编程题(30分)9 B) z0 P3 y4 q/ |
输入:N(整数)
4 W" q5 O9 X0 Q/ s4 {8 p" @输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节
4 k; K% a0 I- G" j% t, T文件格式如下:2 P% O. P5 V5 ^. K. k0 [
字符串\t数字\n
. J, l/ z3 l/ D& }0 p0 _5 v& I* E) ~# T9 f6 S
说明:
) V% q: T9 a8 {1 X0 Y' u& M, b7 K每行为1条记录;字符串中不含有\t。
# n' U) l% r8 r8 P  T数字描述的是该字符串的出现概率,小于等于100的整数。
6 n; T# A: M, R5 ^0 Y; `2 l多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;$ e* d# C% a/ L, B
如果文件格式错误,程序也退出。
6 t7 Z- u& d7 b5 i4 `' `9 G/ M3 }7 g1 n) S( X  B9 ]3 W
要求:* {* p) a; \: }( t: k% t
编写一个程序,输入为N(正整数),读入文件A.txt,按照字符串出现概率随机2 a7 K) D5 i! o3 Y. M
" n5 U% L* u# c, }$ L, a7 X
地输出字符串,输出N条记录3 o+ J9 Q% W0 m

' e# g2 @( ^4 A( w- }3 V例如:
5 K4 V+ Q+ V& q1 ~7 g输入文件A.txt- T( ?' W" ]) J3 k( d, e1 x
abc\t20# G9 `5 e% e* q7 }6 F
a\t30
6 k" V, F) I( s$ ide\t50
+ e( O: j9 q# V; c输入为:10
3 X2 m: y- E' x% T7 C' c) T: k& x# D- J9 B8 m
即 abc有20%的概率输出,a有30%的概率输出,de有50%的概率输出,输出10条记& y2 S) O0 L5 b* _9 j8 a
& B8 G; f/ Q+ m

& v& h) v) n6 L以下为一次输出的结果,多次输出的结果可能不相同。' C' _+ |3 a! S# P
abc
- l9 j; l0 |# za3 U$ X3 f: `1 ]2 N8 r
de/ m5 ~9 a0 D3 }$ E7 h4 F4 d
de; a5 g0 g1 B  c/ d9 P
abc5 Q1 m" G- w  V# z8 [6 n5 J* u
de, M0 y/ j) z! a& b6 U
a) ^7 I* b9 i9 s/ i" k1 m
de% S0 b2 J. Q! R! n% f  G
a
3 Z# Y$ X3 {: O4 @: n' ?0 X- xde
- u0 x) Y1 Q5 D1 n9 {- A0 l8 Z" \$ j
二、算法题(35分); f  S: K. E! p
题目描述:2 I" m( K6 o/ K; B5 Y
设有n个正整数,将它们联接成一排,组成一个最小的多位整数。4 T0 i2 D. _6 L& i

  |0 n# ^) k; ~1 a程序输入:n个数
' W' Z) |( N+ L2 n. `% B7 S: K程序输出:联接成的多位数& x0 @% M* w- ~: z2 u
+ l3 V2 b" G1 ]6 b0 U; c3 Z/ k7 Y
例如:
+ K; {" \0 [+ Kn=2时,2个整数32,321连接成的最小整数为:32132,
( u% k# K# \& ^9 |* W: }9 pn=4时,4个整数55,31,312, 33 联接成的最小整数为:3123133554 H" `( N' m! q( H
& O- f% l/ _" N
[题目要求]' C/ V/ F% N4 S
1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算
" ^# y  j& Y) ?) j) d& b4 Q+ m- L+ ]% B6 j0 E# p
法。
5 V  P7 y6 o7 R" q( @2. 给出算法的时间空间复杂度。
7 |9 ]4 o$ g6 ~3. 证明你的算法。(非常重要)( f# H8 o2 S8 L* u7 ^* R

- J- Y( b2 W0 c) F/ n7 {2 l# E三、系统设计题(35分)
; @0 W. W4 N# O' H8 ^! s: M在一个有1000万用户的系统中,设计一个推送(feed)系统。以下是一些预定义概1 g; u. [. Q: H5 J8 H
' {: J/ E) F4 t: R
( E/ N; Q: r( k+ q# z, k
1、用户:在这个系统中,每个用户用一个递增的unsigned int来表示user id(简( {, Y/ }2 c* C  q

* B4 J" U6 `5 h+ V7 ]写为uid);则uid的范围是从1到1000万的正整数。
; ?1 C# c- F9 C: u4 P' P5 D7 H2、好友:用户之间可以形成好友关系,好友是双向的;比如说uid为3和uid为4的
2 m4 @; ?- @* \2 s9 V: C7 K0 J* {6 z! u! ?& l9 Q
两个用户可以互为好友。每个用户好友的上限是500个;用户之间的好友关系可以- {+ o1 k# x# K" F
4 ^3 \8 ~: I. ^2 @' r) B9 {  c: D
被解除# G/ E" |! p( ]; c  c
3、活动:每个用户只能发文章;文章可以被作者删除,其他人不能删除非自己发% X, o; E6 l! Y1 C9 l
+ J7 c: z5 \* }$ J1 j0 n( t
表的文章;每篇文章通过一个blogid表示。
+ U" u/ \; M8 C+ q! H* v4、feed:我们希望,每个用户可以看到他所有好友的活动列表,在这个简化的系
# E9 x, B/ _7 t( V0 y6 h* E4 f
2 ]5 p: w8 n" D统中就是所有好友的文章更新列表。
& U5 ^% ?$ o! M- e6 v" V% L5、访问量要求:所有feed访问量每天在1亿量级;所有的blogid增加量每天在百1 f; o6 w) A+ S4 G/ W7 h4 S& \' _
6 H6 |$ w( }( j( }8 ^" l- `5 X
万量级。
1 v/ Q. R) z, w$ i2 o- {0 H0 \& M+ `( E3 S7 G
题目:请在以上限制条件下,设计一个高效的feed访问系统。
# R( F% p" t% Y4 s- D) ?2 K
8 Q( r. |  v4 r5 d( Y) h' \要求:0 N$ Z# H6 `! ^6 O% Y: [
1、能够尽快的返回每个用户的好友feed列表,每个用户可以最多保留1000条feed
8 f& ~% ?/ ]" u/ ?; o% L
* S; x5 R- I1 a;feed的展现按照时间倒排序,最新的在最前面
$ Y. f3 |# K4 {9 u- }5 N. _6 B2、用户删除某篇文章后,被推出去的feed需要及时消失。即每个用户看到的好友$ l  r2 y% h% e4 J& L( q6 F! }

9 D) G) E6 P+ s' D# \; x8 bfeed都是未被删除的& F+ h: k/ w/ l
3、尽可能高效。$ z: r$ h6 E8 w# x6 Y( O. E
6 `: U; E6 l2 P, T+ Y7 _
百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html) F! ^  I8 h8 V
百度历年实习生招聘真题:http://bbs.aftjob.com/thread-606504-1-1.html
1 i0 p2 l$ T+ n& r. J6 H( \3 }$ r百度2010实习生笔试2套:http://bbs.aftjob.com/thread-610484-1-1.html- y$ l' B, E+ V3 @  ]
百度求职俱乐部:http://bbs.aftjob.com/group-4-1.html
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2026-6-17 21:36

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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