找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1435|回复: 0

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

[复制链接]
发表于 2012-4-20 17:17 | 显示全部楼层 |阅读模式
2009百度实习笔试题( |! e/ D5 D+ U5 C
; T% l* s1 V$ b

: k, e# P6 ~& i$ @6 ^7 y4 u. ~+ e$ |$ a* |4 N- S0 e, |. P0 j

0 K; s+ q* D+ ^. T, a一、编程题(30分): P# [  y, z4 ]( R! }) q: S
输入:N(整数)# J$ i$ w8 ?+ d' n
输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节
2 F+ P1 b( k$ E/ P5 E1 a1 D) T3 ~! o文件格式如下:& r2 u1 M' b) |* J; ?3 b
字符串\t数字\n& l1 t8 s, y. b0 r/ H
3 F, f# D, M2 a2 ]8 W; p
说明:
9 V6 r& S( ?) c* {每行为1条记录;字符串中不含有\t。
; G! F% ]* V; [& v/ N8 E1 C( E数字描述的是该字符串的出现概率,小于等于100的整数。
0 X/ v; f+ v- z, O/ W多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;$ k% b* d' O, G9 d3 k) w4 ^
如果文件格式错误,程序也退出。+ p: e# {) n/ p" S9 V
1 I2 I4 w; W: @- b9 a
要求:3 Z) T( w, \; v7 y
编写一个程序,输入为N(正整数),读入文件A.txt,按照字符串出现概率随机5 `, i$ |0 c5 F1 ~  {! G8 _

$ R: `! b" \5 [( J. K地输出字符串,输出N条记录7 k: I2 \4 q. T3 c8 S' _

" n" g+ o4 i5 q$ T% w例如:! O* K. y9 t) B; g1 n; o
输入文件A.txt% }5 T" _, p& U5 c' a1 u* i" P5 v
abc\t205 k! S2 U% m" M6 F6 C2 j
a\t30
! ]0 X9 ?, H. Ude\t50
) E% l$ M0 w7 _- R输入为:10
( h; F- W, x- G( O' D1 b1 g- H( R) m$ h& `) M% Z5 F
即 abc有20%的概率输出,a有30%的概率输出,de有50%的概率输出,输出10条记
/ A# b) }+ f  N/ \6 |) P9 k' G: Y) _/ v3 k) U3 B4 S+ N
( |4 H' O" K5 l# b: i$ b; e. S5 ~
以下为一次输出的结果,多次输出的结果可能不相同。  @5 ?+ E6 u0 ~8 F" p
abc
4 V2 c6 R0 C# z8 E$ Ca
+ {* q( @8 [' w( p; Z6 _6 N# \de5 H9 I. G4 E! i. H7 z0 g$ N1 A
de; @) `; N+ `' F8 i, D3 }) D: ?
abc" n6 v" x9 G8 p9 p3 L
de
6 j3 u" m5 z! {) H: {2 ^5 F0 La
; K3 X) ~% _7 w* m% qde
8 ?1 G( N" m* f# ya
% w8 @; `5 _* I8 ^de
. J; `: l/ e2 x5 |# O2 ]
0 l2 l: V4 C" m$ ^7 H9 u二、算法题(35分)5 O4 p, K  a5 p$ V8 d; P
题目描述:6 ?  \. K* C% x
设有n个正整数,将它们联接成一排,组成一个最小的多位整数。
+ z" c& V, \7 {+ X* h3 C0 l4 A( n- {3 R
程序输入:n个数  ^, m9 U5 @: E/ @$ b! \. y
程序输出:联接成的多位数
& r# _9 [* H4 n$ z& w5 h7 g/ Y* h3 k2 O& k" _0 O# P
例如:
% T# H" p# P1 u+ K7 O" qn=2时,2个整数32,321连接成的最小整数为:32132,- ?( ]& j4 _- t' l: q3 I* ^8 u
n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355
$ {$ y" z+ E4 v4 c0 t  C8 R" f$ b1 |9 V0 \8 F
[题目要求]
; a0 Q" c; q. Y- I: b8 p# }1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算' ]6 }# Q. D* p1 @

. z0 O& N2 p- C) r4 X法。
3 _& a1 B. W$ Z2. 给出算法的时间空间复杂度。
. n" _1 ]" ]! D  |" u+ ]3. 证明你的算法。(非常重要)9 s  b8 ?& I- |$ i8 V$ x

: v0 |* ]$ m9 C" ]% w% }三、系统设计题(35分)
$ p) ]3 j  U. a8 H在一个有1000万用户的系统中,设计一个推送(feed)系统。以下是一些预定义概
4 _- Z6 U* U6 i# F$ g' t3 K, Y; M/ D9 i* b
# `( p, O) d' }0 |: ]* e9 Y+ `
1、用户:在这个系统中,每个用户用一个递增的unsigned int来表示user id(简; W. l8 @3 W9 ?

" g& y: Q5 _. |' o5 L写为uid);则uid的范围是从1到1000万的正整数。
, I+ A) c# ~3 J$ ^' V% B2、好友:用户之间可以形成好友关系,好友是双向的;比如说uid为3和uid为4的8 [0 ^" f" b) W# M
- G- v  {$ u5 X; X5 R- f  A3 x: B* j/ T
两个用户可以互为好友。每个用户好友的上限是500个;用户之间的好友关系可以
6 @6 c. X$ ]$ q, _- h5 F7 |" q$ ?* c2 z5 k8 {
被解除0 w- J( }$ @4 e1 C" U# d7 C3 Q
3、活动:每个用户只能发文章;文章可以被作者删除,其他人不能删除非自己发- R2 v" c0 R( i! S6 S
1 R6 J+ j3 t" i& L
表的文章;每篇文章通过一个blogid表示。- N4 _  b/ J! y5 r
4、feed:我们希望,每个用户可以看到他所有好友的活动列表,在这个简化的系' X# y* K. t& W" ^# J
5 |0 c& o3 g4 A: ]$ G$ x
统中就是所有好友的文章更新列表。  M+ }+ H! e0 l( w# r2 v6 C2 B
5、访问量要求:所有feed访问量每天在1亿量级;所有的blogid增加量每天在百9 X2 J8 \' ?2 o2 \# y- Q
3 M- l7 T$ }' O6 l
万量级。" o5 H8 c! a3 T. {* B

* g9 c* i) J& |& N题目:请在以上限制条件下,设计一个高效的feed访问系统。; E- w: a, a0 `

: b2 a) c1 \7 N& v9 l要求:
1 ~6 ^+ e7 Z6 H* t) c2 p1、能够尽快的返回每个用户的好友feed列表,每个用户可以最多保留1000条feed, z, d+ V6 F3 x; N% G
  s2 u% T0 f! Y6 y6 d" }" o8 C" `
;feed的展现按照时间倒排序,最新的在最前面
2 p  N8 x" Q. E' Q* c/ }! p/ A2、用户删除某篇文章后,被推出去的feed需要及时消失。即每个用户看到的好友
% ]0 H% t( {8 E( }( a, e* m" f! y5 |2 B% z+ V; U
feed都是未被删除的
1 t: `7 o# {# Z' V, p7 \3、尽可能高效。; h) ~7 b7 L5 @1 D! r

( J; c6 C; Q' Y/ A7 K/ W百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html* F8 F$ B( p+ i7 ~* ^) ^
百度历年实习生招聘真题:http://bbs.aftjob.com/thread-606504-1-1.html: [! X$ I2 U+ X9 G2 e- d
百度2010实习生笔试2套:http://bbs.aftjob.com/thread-610484-1-1.html
$ U5 b0 a( v- I; h0 J+ n/ q9 R百度求职俱乐部:http://bbs.aftjob.com/group-4-1.html
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2026-7-27 00:50

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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