找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1026|回复: 0

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

[复制链接]
发表于 2012-4-16 12:01 | 显示全部楼层 |阅读模式
2009百度实习笔试题7 r- f: I% |( C
1 u; h  V, A7 a4 P% ]3 V

- ^6 Z/ |. W/ Q! K! p
) b; f2 F# _, }- r0 Q) i" J . X/ ]. d8 g+ w: _; M
一、编程题(30分)( m, |4 e3 A: a; Z7 r5 u' v
输入:N(整数)9 \9 V# F9 R3 J; g7 B4 Q/ ~7 Z5 x
输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节) }' s, j/ B; }8 R
文件格式如下:8 Y2 C, a, b. y. k
字符串\t数字\n6 S  M+ L: o+ c7 ^
' F/ H6 w; N$ R0 q! e! E
说明:
, j+ M, m% @+ o0 s& V) a每行为1条记录;字符串中不含有\t。
2 E6 }; Q+ r( g6 h/ i# N2 p9 z数字描述的是该字符串的出现概率,小于等于100的整数。3 v; N6 h1 l7 r8 X
多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;
% U" F' c/ ?! d: m9 Z: }8 g5 e如果文件格式错误,程序也退出。5 m+ T5 V0 n8 N8 N
1 A5 ?. P" [2 i9 z
要求:- a( P$ n, S9 X) O% X( x- H: `
编写一个程序,输入为N(正整数),读入文件A.txt,按照字符串出现概率随机
8 L+ k7 u# q; Z6 _( q  |+ Y7 Y! }$ Z! r  W! F9 q8 A6 n/ s' {
地输出字符串,输出N条记录
3 ~* [7 X2 r3 e' N' X0 X5 Z- M( Q! n9 p% |! c3 O
例如:- \/ Q! j  F( S1 N, G+ r
输入文件A.txt
) F  X: k+ Q# M( d2 L) X+ gabc\t209 d* r6 n$ n( x& f' O0 Q) U5 l# j$ d
a\t30
! u) K: {4 G* g, ^de\t50
  z5 n: `) p1 s9 d  K) F) n输入为:10
0 S! R" v. Z3 x; x1 S' {( x7 @2 Z" F0 |# D  B. a
即 abc有20%的概率输出,a有30%的概率输出,de有50%的概率输出,输出10条记
- y& Q3 Q+ {/ \% Q& y* k: y4 x& N# p! h3 W4 Q! r! J2 {

& z  q5 F6 x6 \6 @1 t0 W以下为一次输出的结果,多次输出的结果可能不相同。+ f5 s5 |0 l, J$ ^0 Z
abc0 g9 _/ B- |0 F
a
: C+ i! B1 r0 p( R+ a1 q% A9 Y$ bde
6 Z' A6 a5 B. p' g8 v4 Cde
. l; p2 i, `: sabc% q, @; \' k1 ]# v) c1 O' n2 H0 @/ A
de0 y- G! [7 t: E/ ^" m
a- K# ?% F( b- b6 a" U" _
de1 x  F6 f: e3 w7 L  @
a
. F5 N& f( S2 F7 f9 T) Bde% \: o" C' t$ t
' L* |! m' l! r' A* z
二、算法题(35分). \7 Z9 x: Z1 Z- l2 r* p) O
题目描述:; r+ j! u" F! {& y; u
设有n个正整数,将它们联接成一排,组成一个最小的多位整数。/ k2 |  c( b5 y
" Q( E+ d  p5 H
程序输入:n个数
$ @8 S* ^2 Y/ B" s: {程序输出:联接成的多位数7 D# i' q; j5 d
% f" E$ W' E7 p7 X5 |  z: o' e
例如:/ `+ W9 K" t' ?% T5 E+ Y
n=2时,2个整数32,321连接成的最小整数为:32132,
* L: _+ y9 \/ qn=4时,4个整数55,31,312, 33 联接成的最小整数为:3123133550 P; Z# R5 @& c$ ?* f. A* D
/ N2 _8 n! K& M5 ]
[题目要求]
, ^4 m$ E3 O$ h  p. Y! e# ]+ W1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算
/ ?  ^8 r' M" x& \) N6 \7 a8 a8 e: P# x8 F8 C9 ?
法。
6 n; v7 i7 H8 N9 P. d1 B) A2. 给出算法的时间空间复杂度。
$ z! K: f  L. @* \3. 证明你的算法。(非常重要)9 a$ M& Y. f7 c, L& Y% T
' f( x, v3 {5 ?
三、系统设计题(35分)& N- a; P0 ^) q, u1 Q) Y$ Q3 l
在一个有1000万用户的系统中,设计一个推送(feed)系统。以下是一些预定义概
- f% X6 _+ J/ R, Y7 l+ E& T* W) U' V, Q% B

5 m* C6 k  z' z1、用户:在这个系统中,每个用户用一个递增的unsigned int来表示user id(简
# E8 M  Z* s' C" ^9 j  h
, d4 B+ b$ A( p* a; A$ @  _写为uid);则uid的范围是从1到1000万的正整数。
; }( G0 h! }2 j$ u) ~; B. C4 t2、好友:用户之间可以形成好友关系,好友是双向的;比如说uid为3和uid为4的7 w" z5 i% |' H' ~' K1 ~4 r3 F( {

! q5 @* a8 P+ v$ z0 |0 i3 q  l( f- u$ F6 U两个用户可以互为好友。每个用户好友的上限是500个;用户之间的好友关系可以3 K9 X$ s4 L8 s& b0 n$ i5 I

/ l* o$ C  }! _$ b* M/ ^- g& M被解除& m4 t  M: x3 B+ |- o9 A
3、活动:每个用户只能发文章;文章可以被作者删除,其他人不能删除非自己发7 `& q+ N6 h* q" l8 W9 f
( Y7 t' i/ P& J4 u/ p1 V
表的文章;每篇文章通过一个blogid表示。/ E1 ^2 v2 {9 ?/ [8 q
4、feed:我们希望,每个用户可以看到他所有好友的活动列表,在这个简化的系# H. n& u- h, K& k2 \

% [9 r5 z  f9 I7 h( \统中就是所有好友的文章更新列表。- O5 A3 O$ G  m, I' D0 [9 o9 Q
5、访问量要求:所有feed访问量每天在1亿量级;所有的blogid增加量每天在百
1 @& k2 [9 \  e' A5 k: s6 I6 z% \9 G+ b2 O8 m
万量级。
4 C; X+ I& O, ~+ e. e1 k0 Q: L; A% E+ g9 Z" ]# l; q3 E6 y
题目:请在以上限制条件下,设计一个高效的feed访问系统。
. g- l; b# `5 M8 X4 R$ C) S
& e% o$ L2 g# |4 s" C; y: F% |要求:2 p6 X, }# T$ p- s9 O
1、能够尽快的返回每个用户的好友feed列表,每个用户可以最多保留1000条feed! R( O0 H5 X5 T& c; ~
0 u7 d! L6 O8 C. e
;feed的展现按照时间倒排序,最新的在最前面
7 }3 V* P& Z8 [2 n6 R0 i4 T2、用户删除某篇文章后,被推出去的feed需要及时消失。即每个用户看到的好友. q& y0 ~* |- [3 _

$ {0 O  Q' @: G% qfeed都是未被删除的
5 t+ r" q+ z% Z5 n3、尽可能高效。
. Q: h# q; ~" r' h2 h
: A6 S3 U7 A- T5 R# I7 G+ l百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html, a9 o5 q. m5 x& k3 w
百度历年实习生招聘真题:http://bbs.aftjob.com/thread-606504-1-1.html
. N; ^2 x' p) m! j+ x6 H百度2010实习生笔试2套:http://bbs.aftjob.com/thread-610484-1-1.html
9 J" K: {. z0 B) D! b百度求职俱乐部:http://bbs.aftjob.com/group-4-1.html
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2026-4-2 02:50

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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