找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1458|回复: 0

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

[复制链接]
发表于 2012-4-20 17:17 | 显示全部楼层 |阅读模式
2009百度实习笔试题
: p4 k" `3 L9 D! }
0 l: ^, ]( S. v0 _8 k! `7 q' [; N" }" Q6 X, A1 X0 ~

  C* x, U3 }1 j/ U$ Q6 _+ Z4 r
8 P2 L- d* f% c# r$ ]5 [/ |一、编程题(30分)
( `0 F6 ~' [* D9 E+ n输入:N(整数)* p# ?; Y, A* `% v8 G0 z" d7 k
输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节* m' Q; v/ \1 ~3 w
文件格式如下:8 n, r) w$ g0 `' R
字符串\t数字\n' V' p4 w+ z6 y/ \/ o" J" i8 {
. Z  g' i# E8 |) q0 J# c
说明:
' W7 G% E" v3 M" P1 O4 P9 R每行为1条记录;字符串中不含有\t。
8 U' p! [7 n4 ]0 U$ N数字描述的是该字符串的出现概率,小于等于100的整数。
; h" q/ j, u$ _多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;6 [: B( n! \3 |
如果文件格式错误,程序也退出。+ @$ v" l0 P; n- A
7 u" }* G8 B/ J
要求:( j3 V2 P: `+ R
编写一个程序,输入为N(正整数),读入文件A.txt,按照字符串出现概率随机
# T7 G$ O# k' b6 @' E
& n  k! [6 t8 H) z地输出字符串,输出N条记录8 v$ E7 U  r2 A7 ~9 S6 g2 w
" _# u/ l) P4 x' B
例如:
2 x# u. T: J- F5 {- Y- Z8 e" l输入文件A.txt: ?' L$ t) \8 n  N0 A" D
abc\t20# O6 `$ D1 o' y: m% b( w$ I
a\t30% ?2 Q6 R: `: P9 X1 m2 Q+ H5 P
de\t50
3 ^# ~/ H2 \; }7 z输入为:10
2 v* T' V# H5 O" p2 N- p
3 \* T  C6 j4 U1 B- j- m: b" W, d$ I即 abc有20%的概率输出,a有30%的概率输出,de有50%的概率输出,输出10条记9 Y1 q% U, K" ?8 w+ ]8 e
; W: y, f+ _! P3 V; j
  i1 i+ P% O9 t' b1 J
以下为一次输出的结果,多次输出的结果可能不相同。
* q6 W9 A! @, I* S2 nabc
/ w2 @2 x; e/ {- `+ ta2 P- G# n) r4 \9 j# j
de( c! C8 j  ]0 {; S
de
% B6 T5 e) B. y/ O4 O9 \$ q  O- ^/ Rabc- @* A4 z8 p" q' |- D0 `8 S
de4 w5 m7 ^2 ~( }. x
a; n2 x4 ?9 c" z% {" S+ S1 X" t- r
de
3 H! m* G% l8 `/ Ua9 E# P9 L" z& y/ q
de' f+ X* k8 ^5 X/ k* D. M
+ f4 `9 N% A" {/ V# f( c0 p8 {
二、算法题(35分)1 \5 r* d" w. ~) K
题目描述:
. U7 H& {3 _9 a( a# q7 B设有n个正整数,将它们联接成一排,组成一个最小的多位整数。
/ l1 K3 d! F, ]% K" c6 l- u7 x6 U  r) e1 T: h) s0 L
程序输入:n个数
! K3 E$ n5 T+ C- l4 N程序输出:联接成的多位数  X- S& Y& K) @( U0 z& a
/ {) V7 m7 ]# r+ O3 R
例如:* p. t" _% t" N6 Y
n=2时,2个整数32,321连接成的最小整数为:32132,. [- ~+ I' l( E/ L
n=4时,4个整数55,31,312, 33 联接成的最小整数为:3123133559 g# D9 Q9 ^& p% Y  o7 X
4 ]; \' T" f! G' l
[题目要求]% u9 [6 G1 ]1 v8 }- q
1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算
+ {- i5 D1 N* q! X- {2 {  o% \" Q( g9 B) u, H; C6 l7 m1 b
法。+ T' @% c$ u% o5 M
2. 给出算法的时间空间复杂度。" h$ H, F9 I( Y
3. 证明你的算法。(非常重要)3 @3 l' E; U, K# J1 U! {

. [. x* f. H  A: Y! M! O三、系统设计题(35分)( S& X* E. M) K! L% w
在一个有1000万用户的系统中,设计一个推送(feed)系统。以下是一些预定义概- n. n8 X2 K% l! v

. C- R7 n+ X* ~  g! i0 B$ G6 Q) @& m% [* H# L& @& X! C
1、用户:在这个系统中,每个用户用一个递增的unsigned int来表示user id(简
" Y# O: G& t( C' R, N- s
5 s2 Y' _/ S2 T6 y& w3 r1 A写为uid);则uid的范围是从1到1000万的正整数。
; k" z! ?3 Y! H: H9 j2、好友:用户之间可以形成好友关系,好友是双向的;比如说uid为3和uid为4的  f% J! q! \8 w. A
1 r8 ^- a( ?- [/ x. L& x
两个用户可以互为好友。每个用户好友的上限是500个;用户之间的好友关系可以
9 _7 v, j9 v' N. V3 ]! J) ?+ i& c" \* v5 X
被解除
2 r. n3 X1 S3 M1 O. O3、活动:每个用户只能发文章;文章可以被作者删除,其他人不能删除非自己发
6 V9 C6 F3 `7 r. B8 n* G* z6 p+ H4 e( ^
表的文章;每篇文章通过一个blogid表示。0 H  b; w: F0 I/ j/ j! {
4、feed:我们希望,每个用户可以看到他所有好友的活动列表,在这个简化的系6 J1 H' ?  w/ l- R( [

% ~, M' d! K/ S统中就是所有好友的文章更新列表。/ E" P% Z: o* r/ d
5、访问量要求:所有feed访问量每天在1亿量级;所有的blogid增加量每天在百: |6 t  d9 Z" v1 M% {3 R

9 g/ V+ P" t1 y5 P/ K. m) ?万量级。8 y. m' y: l2 b6 p4 _1 F1 o! D

4 S$ h: n* g+ ^2 _1 w& G题目:请在以上限制条件下,设计一个高效的feed访问系统。
, u. y& B) O. b% N' x  h  f; w8 U3 a5 ]! J( s# k
要求:( C; ^5 S; T3 d# o
1、能够尽快的返回每个用户的好友feed列表,每个用户可以最多保留1000条feed
4 ~. F5 d  h# ~, Y
9 P4 V8 }2 V+ ?' j. p& _  n. b;feed的展现按照时间倒排序,最新的在最前面
8 u: b9 {9 M* d& Y2、用户删除某篇文章后,被推出去的feed需要及时消失。即每个用户看到的好友
" x9 `2 V. T) S3 f8 F
% h5 Y* O7 _; V8 s7 r; ^feed都是未被删除的, ~  B1 X' Z& ^6 N: h! I) {
3、尽可能高效。" Q% T2 ?% z6 S6 ~
2 v: n6 }$ h7 l/ w
百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html
% f; F9 j0 `, W9 z百度历年实习生招聘真题:http://bbs.aftjob.com/thread-606504-1-1.html, w- g, c7 U! e. z; ~5 t) \6 u& T
百度2010实习生笔试2套:http://bbs.aftjob.com/thread-610484-1-1.html0 r: z$ b' g0 P4 i
百度求职俱乐部:http://bbs.aftjob.com/group-4-1.html
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2026-9-21 15:49

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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