找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1400|回复: 0

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

[复制链接]
发表于 2012-4-20 17:17 | 显示全部楼层 |阅读模式
2009百度实习笔试题
; y0 V- |8 V2 i  f' e6 T- h" J* h* h$ G( f8 S* ~+ j

' a0 U( m  o8 K9 O. ^* }5 _1 G4 C7 d3 E/ N$ X2 a: e" ~
" K/ c+ ^0 F, G) V) ]% u
一、编程题(30分), w, {/ B: v6 J1 w
输入:N(整数)
9 w9 ~, E) |; H- ~& p" @' q输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节, c$ P: c/ A1 ]. s
文件格式如下:
- s8 |, R  }) E. V6 \字符串\t数字\n
" R  E8 O8 ?! V& H$ ?( S
1 \) f2 ]9 \) N4 j3 u' {. w说明:
  s  Q. Y) T, A! C; I2 y每行为1条记录;字符串中不含有\t。
0 I% x4 x9 `; r9 l" v# B# v1 Y8 \6 V数字描述的是该字符串的出现概率,小于等于100的整数。) q* X* |5 Y. }- U# @" s( R+ b3 k, e
多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;% h: ~& A  h# ^4 U9 m) n8 @3 D6 i- B
如果文件格式错误,程序也退出。' g7 I: C' N6 a
/ F; N4 |4 ]# [2 Q. T% U; Q" H# }$ b; O, K
要求:
# i; N( J1 c6 L  u6 Z9 Z/ F/ h编写一个程序,输入为N(正整数),读入文件A.txt,按照字符串出现概率随机
7 j1 E( `$ c, _, c& Y( [' B9 I( @! G. j, b9 K$ k2 O  D
地输出字符串,输出N条记录: _! n4 }  q* w  q7 l0 @% s# X
2 B0 R+ h- q; a+ O# f) ?" Z/ n+ v
例如:
; _1 j& K. J, o' H5 |7 X输入文件A.txt. C+ a1 g1 h3 V
abc\t20
" i# q; r: t- C, [a\t30
% V) ], {) Z  |' y+ a# P1 Gde\t50/ t1 I4 ~- t% g" f, h
输入为:10. |% K/ t' n) c9 S" C+ N. Z
3 o9 F* ~) h- L2 E/ z  K
即 abc有20%的概率输出,a有30%的概率输出,de有50%的概率输出,输出10条记
3 ~( u8 @1 V) d7 n) \
/ s$ c/ u& \/ O1 a
' Y7 F2 f. y3 Y' n' u( b以下为一次输出的结果,多次输出的结果可能不相同。
: l, \& Z9 p5 f+ `& R$ I+ `9 Uabc
" h5 b+ ^5 k9 E# Ga
5 D- v- a+ p7 e- o) |de
! E9 i3 i/ V4 b8 S1 U) h* y5 Ede
7 ]+ |$ {# N3 I4 @  o  J1 [! Jabc
& N- Y  k( N# C1 `' ~  Dde: H4 t7 d1 ~9 l9 Y$ ~
a
' Z8 m* {# h, V" {! U" zde
9 W. d# b% ]2 {a' P+ _9 Q( C2 i3 G: n
de+ L* d0 E/ n5 \
. H" t1 R7 J' g3 C2 ^( y
二、算法题(35分)
4 Q) m5 g# s2 [8 w题目描述:' }1 [+ y. u' a7 Z( x. q( F
设有n个正整数,将它们联接成一排,组成一个最小的多位整数。$ Z# {" u& r' A; a, R) R# `
, _% r! n! i# L* n* l( D1 I' s
程序输入:n个数3 i$ G+ a: J6 T# I3 ?' I
程序输出:联接成的多位数
% \8 a7 L) Y- ^/ x# K% \- ]" I5 }/ F; q5 I2 e; {: o  j
例如:
; ~: P5 n# X% T2 j# X. i) p  wn=2时,2个整数32,321连接成的最小整数为:32132,
' ^5 x1 G1 d7 o4 L' zn=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355
& Z% C% F/ _+ g7 I! a+ R, O
: G+ H7 v/ {% T- q[题目要求]
1 @6 A" h- ]# r! c3 m4 m1 ~: t1 m1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算- j9 U' O1 b* `* B9 U

3 r% r) S+ `: B% a( ~+ ]法。
: R. Y2 \0 U; R( B) x* e" ?' h2. 给出算法的时间空间复杂度。  r8 D! b% f) b- R8 x1 N  [
3. 证明你的算法。(非常重要)
1 L9 z4 ]1 b; h8 z/ {% X; ~7 r$ [/ a% e" `
三、系统设计题(35分)
3 Y/ E9 c0 O4 W3 z2 b- d& H6 y# @在一个有1000万用户的系统中,设计一个推送(feed)系统。以下是一些预定义概
3 a1 d5 H* M1 C3 R! |! O6 f$ W) x2 B
; `2 E* V% X) E% p% a
1、用户:在这个系统中,每个用户用一个递增的unsigned int来表示user id(简
# d9 s4 [+ S  [% A' p( I: n8 E
% P: u2 i3 J$ l" \) v0 _写为uid);则uid的范围是从1到1000万的正整数。
) m0 b) ^7 ^3 o5 R5 j2、好友:用户之间可以形成好友关系,好友是双向的;比如说uid为3和uid为4的2 f; N, x3 U0 K, I  }

9 n2 P6 b$ J1 k4 p& z7 M. q0 G! }两个用户可以互为好友。每个用户好友的上限是500个;用户之间的好友关系可以
2 R# k0 L! ?: q0 B' ]# ]
! D$ J5 B5 y- o0 Z$ X* y# Z  S被解除% n: h+ }$ l) H: N/ w, M
3、活动:每个用户只能发文章;文章可以被作者删除,其他人不能删除非自己发# T4 n+ e8 W1 W; H! i$ M. ^' S5 s
3 R% `% K& T2 _3 |% T
表的文章;每篇文章通过一个blogid表示。1 A* a4 [* i* a+ t8 q
4、feed:我们希望,每个用户可以看到他所有好友的活动列表,在这个简化的系
" h' g* g- a1 q" H7 z5 L$ m# {
1 m" |5 A5 {9 y统中就是所有好友的文章更新列表。
; Y( r) v& }+ j4 j* s5、访问量要求:所有feed访问量每天在1亿量级;所有的blogid增加量每天在百0 t; v4 f* V0 R3 t" x$ r7 R2 P

! d7 D- J; f% B+ {4 H1 n+ M万量级。4 W* h- D* E3 b$ K; |) l# i( q9 T
1 o  `; J% d" ^) Q$ _; X
题目:请在以上限制条件下,设计一个高效的feed访问系统。6 d4 K( I4 a$ H) ~! E$ q

+ ~, l8 m' n. b) i3 ~: q要求:
6 w' P, s- _8 y* H1、能够尽快的返回每个用户的好友feed列表,每个用户可以最多保留1000条feed
% ~; [6 J5 k% |) F  F+ p2 d9 \% l7 h9 O" T4 ?' k1 R$ L9 h" j* I" s% c
;feed的展现按照时间倒排序,最新的在最前面
/ V$ ?7 I0 a' O  @% P2、用户删除某篇文章后,被推出去的feed需要及时消失。即每个用户看到的好友  J$ v9 K: p* g/ j" t  r- v5 F
8 z2 F0 H3 ]% u9 i$ o: q1 }
feed都是未被删除的
" \, B. s* Y+ P3、尽可能高效。- q8 T  J7 h3 m! W) m% d; f

9 v' ]! b& u2 d# M" g百度历年校园招聘笔试题:http://bbs.aftjob.com/thread-417000-1-1.html. R) L* R! m$ E# ^& l! d% ?
百度历年实习生招聘真题:http://bbs.aftjob.com/thread-606504-1-1.html. d! e8 n. Z( \3 x+ Z8 I! h
百度2010实习生笔试2套:http://bbs.aftjob.com/thread-610484-1-1.html
$ M- V  V' A! t6 r- p6 W: u' ]百度求职俱乐部:http://bbs.aftjob.com/group-4-1.html
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2026-4-2 01:45

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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