找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1031|回复: 0

[面筋] 10.19 – 百度基础平台部 - 耗子

[复制链接]
发表于 2011-5-30 16:15 | 显示全部楼层 |阅读模式
10.19 – 百度基础平台部 - 耗子
/ N# R* q. j6 S. r. W$ {( T5 P
7 Q7 Q  i3 ^$ ?& p6 q& d6 B, ~$ D! o: w8 o; h- A- A

% ^$ h2 F6 f# `- o+ ^/ m3 }5 @一面
& b) U# C6 N- ^( u一面碰到高手L,高手L就出了一道题,条件:给几十台mysql服务器,和一张访问非常频繁的数据表8 \4 d* j& g: V; g( M
1 问如何设计,能够提高表的大规模并发访问性能?
' L' @" R0 r. n/ q我说要切分表。
% Y4 B; k" E6 T3 _5 i( X' x# E2 问怎么切分?1 W0 K% y9 `+ b0 f' B0 S$ G
我说hash静态切分ID,把表切到各个服务器上。; R8 H! C- ?) ?4 S% F4 b% i
3 hash的话假如节点经常悲剧或者经常有新的节点假如怎么办?数据暴增怎么办?某部分数据过度频繁访问怎么办?( E' \8 i# [9 h) n3 E; _
我说 经常挂节点就用一致性hash,或者用动态切分的方式,增加索引服务器(MDS)记录映射关系,然后局部数据过热做迁移。- y6 a& {3 }& h) v9 M; L
4 迁移怎么迁?迁移过程中怎么保证业务连续性?迁移的话如果源服务器挂掉怎么办,怎么保证可用性?! x9 ^# v, z' g5 @
我说 迁移后不删除源信息,要更改MDS上的元数据信息,元数据设计是(一段ID范围,一组服务器),然后在读某个ID时就在这个ID对应的这组服务器内做round robin方式的负载均衡。) ?" [+ ^/ C1 V% t1 ?
5 如果用这个方法运维怎么办?一致性如何保证?* C( D, T5 v# c# E5 v7 p% Y4 }
我说 那就干脆做副本吧,弄一个专门的备份服务器pool,哪台悲剧就顶上哪台,读的话直接做副本,写的话就做迁移。在运维时或者做OLAP时,直接忽略备份服务器pool中的数据。
" R" o  U4 L. E! v% u2 D, v6 那这种数据切分方式在遇到比如select * order by或者group by之类的查询怎么办?! Q! Y* |( F* ^" ?
答 每台服务器内部做order by group by操作,然后再做归并
6 j# N- K& z3 i. D- y! g( g7 那怎么select top 100呢。, X' }; A0 O$ y# s7 U* c4 H
每台top100,做胜者树归并。+ V$ _$ t' H: V8 [. k" ]
8 那要统计去重复之后的结构呢,比如select * count(distinct name),去除重名的数据行,统计系统中有多少个name
6 }# d/ X# x1 e+ K答 单个mysql内部做select distinct操作,多个mysql服务器做归并。归并方法我说bloom filter,被否决,认为不精确。字典树,被否决,认为如果字符串中有汉字之类的,分支太多。最后老老实实多路归并,问多路归并怎么归并。答胜者树,不满足。答堆,勉强接受。
) D( b( z; x* x" L9 ^) ?% r/ m最后讨论了下 两个有序数组在归并时,怎样将复杂度降低到O(logn)
7 B) c2 \2 t+ v$ o# E  \( e* J
# W* Y3 e; E6 D  V二面
1 @3 G3 O" c) V* J8 a; t% g一面面完元气大伤。二面碰到熟人,已经说不出来话了。# s& }7 G) |  t! ~. N: w
这个部猛男剧多的。
) P( S. N: ]) |/ ?& X( w/ [挂了吧。。。  ]# y# c" n) }* \2 B/ U( j% N* ^
) J# |) ]+ K! n& P* j0 M/ n3 b: C
3 Q0 {1 X: I! {# f. e

" h1 s8 [: s0 q6 c6 |文章摘自2012阿凡提求职手册——IT行业篇
% `; P- C1 S3 b- G# J- I9 m1 shttp://bbs.aftjob.com/thread-607158-1-1.html
+ C4 B$ S4 @$ n; U5 Q——' t$ f' ^5 X9 j
阿凡提百度(Baidu)求职俱乐部3 I* ^; K  q# E% j3 a
http://bbs.aftjob.com/group-4-1.html0 a. q2 b: l+ E3 p/ p
——' y9 [6 R( [8 Z  }9 ^( Q% L
关于Web前端及百度web前端笔试面试题目
* u5 K8 D& A+ {2 o1 A. r8 o! Phttp://bbs.aftjob.com/thread-31614-1-1.html1 X/ j. B0 P) m8 ^" k. i
百度质量部测试一面面经
) T- I- I( a, _* U) Q) J) h3 Dhttp://bbs.aftjob.com/forum-viewthread-tid-31594-fromuid-35176.html
9 Y  ~" A4 F2 W! K; P; d/ U百度面经篇+ |; x# |' s0 n
http://bbs.aftjob.com/forum-viewthread-tid-469368-fromuid-35176.html
% V! j3 L# V  m  ^2 h" ?——
  ^% ?) H- ?7 [" ^. X! c. y3 s阿凡提(aftjob.com)求职社区
0 s2 y$ m9 h: _1 m. R) w) U5 t7 s4 y阿凡提求职俱乐部-国内第一家网络求职俱乐部,提供企业求职俱乐部和高校求职俱乐部交流平台。
1 V0 I+ L& r+ w% {) @——
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2025-12-17 19:15

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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