找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1096|回复: 0

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

[复制链接]
发表于 2012-4-16 12:01 | 显示全部楼层 |阅读模式
2009百度实习笔试题5 c8 h8 G' q& g  q3 g

$ l0 W* j) G; Q
: ]0 z% F  l% t' P. @$ F/ [  K5 D+ U
) m6 V# o6 u! }1 Q  M: g9 P / g8 ]' T0 r) p9 a* q7 D
一、编程题(30分)0 F6 W3 l4 X0 q3 W8 X1 R
输入:N(整数)
6 u- f# u, ~) T  _9 V6 p输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节
8 s; ]- g/ h. x) S; b* `6 C# L文件格式如下:
& c3 [1 @2 _4 [. }2 E字符串\t数字\n
2 q+ j4 G. ^- G6 s- d
9 L0 [8 c: U7 E; c% F; ^说明:( o3 J7 h! @2 t6 G* Q
每行为1条记录;字符串中不含有\t。
' g5 T$ h0 F& s! Y数字描述的是该字符串的出现概率,小于等于100的整数。
% g  \- k* ?1 y: N; u: g) j4 Y; f) a% i多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;! i) B4 X0 u: Z1 I
如果文件格式错误,程序也退出。
% v) b4 ?6 |4 |1 |) s9 }" J; D7 v% t. n" K" ?3 }
要求:
# `. N! `8 j/ c1 @编写一个程序,输入为N(正整数),读入文件A.txt,按照字符串出现概率随机$ P3 I, F3 E$ `* W9 E

2 a6 F5 g1 U3 S, F: }" t: `地输出字符串,输出N条记录
9 u+ R$ m' p$ ^! [; }  \; q4 c5 e: T# ]& X4 o
例如:
9 a$ K' Y! |5 n1 j$ C: k输入文件A.txt
; {) z1 f! x3 \. d) b5 n) b7 iabc\t20
" a7 ^6 K/ I8 Q1 ?- |a\t30# z$ R8 H6 a% N% C8 r$ O0 y
de\t50
, B* {: H& P# T1 K; b9 v输入为:10
# _) w" A- N! M& V) b; w4 V
" z9 ^; M. G; I+ K- U" |, Z即 abc有20%的概率输出,a有30%的概率输出,de有50%的概率输出,输出10条记
  H) X+ T  H% ^& U( }# i( M3 O$ f9 s) v
录
% Z: N4 s4 S0 ?以下为一次输出的结果,多次输出的结果可能不相同。( Z8 E! G2 @8 ]
abc# B- N4 o. l( c8 O0 m. m
a
2 z  V# W$ A- u4 G' |de
1 L3 s$ A" M0 d: r% zde
: ^! M8 s& B- B& h; wabc7 v7 i# z4 ]6 ~3 |8 r6 s
de" ^; U9 D; X3 N! |0 o$ b
a
6 |0 C7 H" ?6 ?7 [* Bde
% S5 r' m7 ]# j, D& Xa, Q$ O0 p! a9 e7 k% B8 Z% N
de
9 t7 l2 Q, D2 [
2 ]7 |6 F6 I  \, Z* ~; u$ K二、算法题(35分)
* X; h2 V& B: @9 ^/ k题目描述:
. k) j$ F( w: V6 z" R3 q# r! c. p设有n个正整数,将它们联接成一排,组成一个最小的多位整数。
5 W. K8 H9 w/ e- d( E* @4 n6 s8 v( l- Y+ X
程序输入:n个数
0 F. W1 a- E- w: ~2 a程序输出:联接成的多位数
0 q6 H0 g% [/ p  B8 `6 L
4 I8 ]) h  q4 \; l. {2 v4 n0 r; O例如:
& W9 n& w6 C8 J, T/ En=2时,2个整数32,321连接成的最小整数为:32132,! J0 i7 F2 }, P- k( d1 {
n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355
; N* R" i# H. e, }1 K* ]+ o9 m
# j# T- E0 I; J& ^0 I1 f" c- {[题目要求]. p  a0 Q, X4 F1 m
1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算
% l# R5 l+ T3 j# i  y0 x. d
1 m- B+ ]( F7 _) J法。
. J7 ]9 n) f% v6 q0 W2. 给出算法的时间空间复杂度。/ e' Z8 Q, o* C2 f; C& v- Z
3. 证明你的算法。(非常重要)
' k2 c1 k- x  m
' ?+ y9 s0 {7 y+ R* |' B8 D三、系统设计题(35分)
5 t! s, C; K0 S在一个有1000万用户的系统中,设计一个推送(feed)系统。以下是一些预定义概
8 M- @& B+ x9 u/ }# }7 y
2 U4 j: I' @+ V7 M) [7 \念- i8 `! _7 @# ^- `1 [( _1 F
1、用户:在这个系统中,每个用户用一个递增的unsigned int来表示user id(简
- P, l8 L5 h" |6 h% h7 o3 F; F" i7 Z% e2 v+ w; _
写为uid);则uid的范围是从1到1000万的正整数。
" V2 ^' D: x4 d& }. A9 m0 I; b2、好友:用户之间可以形成好友关系,好友是双向的;比如说uid为3和uid为4的
1 l$ D# g! u* M  H  f4 W) m, U1 @& Y) m
两个用户可以互为好友。每个用户好友的上限是500个;用户之间的好友关系可以
% u+ D. ~+ Y; \8 y2 v, S' W7 H+ t& g; i  D$ i6 t
被解除5 l) V7 Z! [& r5 v/ c% @
3、活动:每个用户只能发文章;文章可以被作者删除,其他人不能删除非自己发; U$ ^/ Y- A& O; c

3 _! B! y7 A2 [% d  g  f表的文章;每篇文章通过一个blogid表示。- v4 B6 R# R) ?9 [
4、feed:我们希望,每个用户可以看到他所有好友的活动列表,在这个简化的系
" u! G2 k4 S. \, a* z
9 `( v3 {6 r/ R6 a6 o# {统中就是所有好友的文章更新列表。
5 Z( U( e% H. N8 F- K1 ?$ B$ Z, z5、访问量要求:所有feed访问量每天在1亿量级;所有的blogid增加量每天在百
4 z( Q7 s7 r  S' x4 }9 Y/ E5 Y* M0 ]* [( S6 R" [& l% y3 F# o
万量级。0 `7 Z! P7 I# e; z" p' L& B0 M
  R% F! k1 x5 l0 b# }& S
题目:请在以上限制条件下,设计一个高效的feed访问系统。
4 q3 q# B1 z, m( r6 M
# {( M8 e) `8 v% e要求:- K: s& m: n1 k- o
1、能够尽快的返回每个用户的好友feed列表,每个用户可以最多保留1000条feed
- N$ r7 U# ?* m, n( g& W7 a5 s  K, b# i9 E+ O
;feed的展现按照时间倒排序,最新的在最前面( l' m- t5 K* ]* x6 `
2、用户删除某篇文章后,被推出去的feed需要及时消失。即每个用户看到的好友
6 g0 R+ b1 e; U* t! S
) a! j+ c5 h6 o( K6 G7 qfeed都是未被删除的
% @, s/ W* p! b% P3 w3、尽可能高效。
4 U& `. B6 _! z/ i7 c" ?8 P2 P# i/ F# t+ [% Q  r' ]- U
百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html3 z$ ~* A, S2 H  c' f7 s' r
百度历年实习生招聘真题:http://bbs.aftjob.com/thread-606504-1-1.html
6 M1 g$ Z- J! k: j4 z* B百度2010实习生笔试2套:http://bbs.aftjob.com/thread-610484-1-1.html5 f, ^/ \6 y# J% E9 D/ X
百度求职俱乐部:http://bbs.aftjob.com/group-4-1.html
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2026-11-11 20:10

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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