|
|
百度2012年面试题(含一二三面)
/ \( ~ s( c0 J8 ~$ [& {4 c# @+ x. c# O
1 N% z0 Y5 J" n最新百度一面5 Q7 e f& G, \5 N! ?
. m5 a2 z/ H5 l2 F: U
zz
8 G; ^) Y' F* Q) G! L' k% Q L8 s4 q O4 P; o* A
5 |% Z6 ~% _% T2 k: a! X4 R" `
1. 网络编程经验:8 Y+ k7 I# [; ~. _: y" l0 P1 h" o
如何判断一个http请求,一个客户端请求已经结束;如何处理服务器多线程, b+ H: c' n8 b( H' U2 {
获得一个http请求后,是如何处理的?返回什么?有没有试过返回图片?
3 M* Z" g" n2 [ S# x2 T( m 服务器给客户端请求时,是用什么函数写?服务器如何获取客户端请求,用什么函数
3 l& J {( d6 o2 S8 x (需要函数级别的连接有一个认识)* N b) K/ u) O5 Q2 m0 C
) L& ]% ]! m" e6 I- I2. cv操作是什么函数 cv_init, cv_wait, cv_signal
, V& ]! s1 G( C3 [% _/ F( n3 ~0 Q4 M1 F) Y( w6 y
3. 有一些关键词点击次数的文件,如何输出最多点击的一百个(当时应该回答,组织一个/ a) I& V8 Q$ G: V* t
100个元素的最大堆)
) ] q5 e, p$ q, b1 E. R1 c) d0 A; A
4. 相交链表,如何找相交点(不能要标记)
4 f$ } }9 ~% | U0 Y: M8 f) o% \: w) O8 |# ?3 E, o! m
5. 有些文件,频繁访问在磁盘里头的,现在要放到内存中了。采用什么策略来决定哪些放3 F0 O+ A5 n' Y* a. q2 |8 [5 f) G1 y
到内存中?( j; S* |4 Q8 j% G* s
4 z; J- l/ Q+ `# l6. c语言相关:内联函数的好处?非内联函数被调用的过程是怎么样的?/ O9 O5 v0 m" `& J% u& ]
int,short,char的struct,这几个数应该怎么放,内存小?怎么防止头文件被include1 A+ g, }. ~) B0 ]' ~0 F: }% ]
多次?% W' S7 }+ R5 [- w
* ]* c, E) ]7 y7 W% Z- i4 A
7. 有没有什么问题想问的
+ q. J5 S8 o3 i, [0 U$ C0 Z" V2 z! Z Z0 j! M( i4 f' V. |
8 linux 网络查看的7 D# s. k" Z/ q# Y' z8 @
6 n' g1 [ I" o+ U( F6 F8 H4 h4 l% ]1 O! C; V3 m& @2 u6 p
二面:* T( u4 N- R6 V- u
1 e! S. Z# Y1 R9 Z: d: r1 e. m0 u8 Z2 f$ a3 k
1. 介绍一个项目
& R! ]3 f/ w2 |' w, p1 I3 q/ t7 H; N* n0 P6 j% q: d5 I
8 P: r/ s& D7 S: K2 f- c! P0 r5 d z5 M! r" E7 a
2. 2.5亿个int数,可能有相同的。统计出这里头不同的数有多少个?只有2g内存。
# y ]- k! n) M3 f(2.5*1000 000 000 * 4 =1G)* O- P5 `2 [, G [4 C
+ h9 ~! a2 H9 Q4 A8 a! P
% I3 G. ]0 I) m @) c
+ L6 F1 ?0 ~% ^% V
3. 海量数据,在mysql中,cpu占用率很高。如何解决?6 I! q' B4 Z# h
6 {2 L" L. n, |4 b! N4 F) u& t
1).show processlist,看哪个sql查询的多,建索引(问:建立联合索引时,要考虑什么,: E: y. S- a" g9 f! V/ r; w* f
怎么建(哪个在前,哪个列在后?)* p( h( l9 A- g3 Z# d+ z; {
* ?" G+ a* h5 ~* g8 s5 N
2).如果老是在拷贝到临时表,就改配置,把临时表内存改大些
* g& h; }- c/ w z% m; ] J& \& d# X# e
3).还有什么方法:: K, O! E3 l) B, B% i" _
——
+ |1 {2 |( w! V! q/ w4 p0 z5 Z1)分布式数据库 (问:如果你来设计分布式数据库,你会怎么设计?)" m5 t9 h* N$ _
——
; l' d) G- C$ P) { a2)使用缓存 (问:如果缓存中的数据,被删除或跟新了,数据库怎么判断这个缓存的1 c! g5 V, u# {$ S# T
数据不能用了,是脏数据?)(不懂)' m& h K% Z0 |( C7 ~9 {
问:什么情况下cpu会高?(内存不足)为什么内存不足cpu会高(频繁io读写)
; p& q$ L( p! T6 b# U; A
0 R* M' g8 ]: R, w2 `/ t! I. w/ l) X, t
9 b) A6 b) v, u t1 ?4. n个无序int,(有正有负),给一个数v,如何找出其中的a+b=v的两个数5. 网络相册,一个人可以有多个相册,一个相册有多个图片,如何快速实现增删查移动等0 k) ]0 ]; X, |! X1 Y% Y$ K% K
操作。web页面上,图片是翻页显示。
( o% X( d6 r8 C( c
: [. N" h. I7 M4 u9 m, `) _第五题我想不出好办法,我觉得一般他们都show thumbnail4 H+ n4 t; i3 @
就是预览小图片不把原始图片show在页面上,点击后才能看单个图片
8 {: \8 z3 a, G* \6. Unix系统里,一个简单的print hello world的c程序,从./a.out执行到屏幕打印出来
' V1 {" Q! }1 Z6 c6 B$ C$ K y9 ?( m这句话,是什么过程+ @& M7 Q, ]- z. t4 } l6 a
问:哪个进程来调用的main?(不知道)7.socket编程,要注意什么问题8 \1 s) ~* M3 ]& p4 D; n
- M- \: ]9 }- X- h) G- u K" j) N e2 @9 Y: ^% Z
3面2 R( _# X0 Z: p) E; [
( [; p; N! [4 Z+ \8 |
1进程创建过程,3 a; _3 Q+ r" j, W- d
, {- T8 V- u. D! |% t6 R$ b3. 主DB在接到数据更新后同步到后台DB,如何避免网络丢失之类的问题
. R- u. b3 J) f# E/ w8 \) r# v) Y' t5 J" \, d! m# [3 Z5 x( X) o$ `
4. N个bit,如其中有多少个1.(时间复杂度小于N)
: ^( y e' f, g* \+ C- Q$ c% T
) c# X, n+ l& C3 _9 e- K' [
+ Z& A. N+ [, ~(信息来源网友MVParchitect)
( L7 {2 |/ S+ l5 n8 S" O( D7 L1 [5 h# N5 k
百度求职圈:http://aftjob.com/circle.php?cid=328 t2 c- j. @9 R3 w5 R9 e
/ E: }" a& U0 d3 z/ S
# F P/ Q! s: o |
|