|
|
|
2010年实习生招聘笔试题RD-2
( a6 f2 F9 M+ V7 I+ N% Q- g! A I" }; M
! x9 j" S7 z/ B& u' E
% J2 B- J4 x, J C( d( N. ?* w7 j9 j( d& q [" J! l% M% l
6 h; P2 n+ g( a/ p第一题 简答题, S$ S; l1 f2 o5 y/ k
1. 多线程和多进程模式有什么区别?在用两种模型开发服务程序时,分别有什么优缺点?采用长连接和短连 接模式有什么区别?分别有什么优缺点?采用同步和异步模式有什么区别?分别有什么优缺点。2 B& r" L1 c" F2 g% ~
5 t+ H% f6 _+ E7 i% R
2. 请写出以下程序的运行结果,并解释导致这样运行结果的关键性原因。
! j: V2 z9 G+ w #include <iostream>
. v+ p u( {& a$ B; E* |using std::cout;
: |( p2 f |/ Z4 }4 }: b4 M$ }. uclass P. h3 j6 X6 C2 O* M9 J
{+ s: A( u/ F0 ?
public:
3 \0 X1 x" w* n5 J1 [virtual void print()0 D& w, J, ]. a; I: V' f
{
4 ~7 U- ~6 @2 C: E/ L h1 Wcout << "P";" U$ t. i2 b5 S& G
}
6 k. l+ w+ {5 R) C$ `};' o4 G+ _$ P" H6 n
class Q: public P
! E% |& K3 U' `4 A, Q+ X{
5 s$ ]( n) ?5 s& [public:' i! `0 W2 E; b$ G8 I3 H4 s" f
virtual void print()' o& L* _# K& q* r" L- {
{* h4 C% e7 x& w( E5 [" g/ A
cout << "Q";; j3 l0 n3 e! `# C5 O+ J2 c, s: E
}: \% ^! _7 ^9 v8 D# o
};( w' o, E! ?8 D
int main()" A7 ^# E. ~* A( D( R; K3 X, S& @4 C
{4 d, |$ I* M( A R r" N u
P * p = new P;9 Z0 u; H" P1 M# T4 d
Q * q = static_cast <Q *> (p);* u- z$ D3 A. B/ i) s, k' H
8 E: N' `4 {# ^
q->print();
9 y8 {8 O& N; U3 ]- _+ I delete p;
4 @- u6 X7 A8 R+ Z7 p0 [cout << endl;
/ D" p% o* p1 @6 B& C F+ y
' `- K) N" I4 B# E# \( y3 e q = new Q;$ E8 ^- M* _8 m! N
p = q;/ f1 ~1 F2 B9 @) x9 l
q->print();. m( `! n; \2 _, f$ A/ i
p->print();
% q& i: M8 h: o3 S+ G* v$ L cout << endl;* G7 Z% Z9 Z2 v4 s
' ?9 m2 N5 g& M
p = new (q) P;+ O, m! t2 P% N1 Z3 J
q->print();7 h9 P& m" V- U7 _1 k* m
p->print();0 c6 }- {' d: k9 v0 o/ q& E4 ^
cout << endl;
! ?6 _; ^2 V; n* ~3 l 4 \7 i: V, e+ I( D9 Q
p->~P();2 g }4 @4 E$ @7 Y# j1 ^: X* {5 c1 Z
delete q;2 E; ?7 W6 s) k# @- q8 }
return 0;, {# x- f' [0 o W5 O" G
}. @- q: |& s9 M0 ^
G/ w) c2 a7 f4 {/ e& H
5 Y$ \1 U. V* A' l' q& L- }第二题 算法与程序设计题
# K1 ^9 m" L- D; g7 A# @& i) O1.给定如 下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增
( r u* Z: i d7 R: w* z; _1 2 3
( y( E% A& E1 H3 5 6
5 S+ t1 S* D+ z: ~4 8 94 M7 d+ y- U, b
现在要求设计一个算法, 给定一个数k判断出k是否在这个矩阵中。 描述算法并且给出时间复杂度(不考虑载入矩阵的消耗)
Z9 b3 a) l- A - F! d. e$ b$ O; X% f* c; w( \
2.设 一个64位整型n,各个bit位是1的个数为a个.比如7, 2进制就是 111, 所以a为3。
$ K) R- r# a' m: l/ F现在给出m个数,求各个a的值。要求代码实现。9 w+ I% z* V. U- {* y
8 L5 \ F' O# P- @+ {2 Q) t& @" Z
" h+ K0 d' @- x: W, F第三题 系统设计题
5 s* O' H1 R% h. r7 ]. [; Z; l实现一个简化 的搜索提示系统。给定一个包含了用户query的日志文件,对于输入的任意一个字符串s,输出以s为前缀的在日志中出现频率最高的前10条query。
) W; V- h$ l" D& z提示:: w/ J2 j! M y' z9 X; _
1、可以预处理日志
8 P/ m8 W2 x( H7 q- U2、假设query不超过10亿条,每个query不超过50字节。
8 r& W! P# L8 K3、考虑在大查询量的情况下如何实现分布式服务 C$ Y/ O" V* P, j: I$ ~! |/ v8 G8 G
& s+ v; D( s- X- Q& L9 m: S% y: X7 v
原文链接5 o3 y7 ~$ F, w% ]* h5 L _) X
百度2010实习生笔试2套:http://bbs.aftjob.com/thread-610484-1-1.html( z) V( `, r6 Q3 R
百度2011实习招聘专题:http://www.aftjob.com/portal.php?mod=topic&topicid=22 8 h K4 J# O( D' t" k
百度求职俱乐部:http://bbs.aftjob.com/group-4-1.html |
|