找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 1124|回复: 0

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

[复制链接]
发表于 2011-5-30 16:15 | 显示全部楼层 |阅读模式
10.19 – 百度基础平台部 - 耗子6 f$ d: N4 L+ s3 D! _
5 Z8 Y5 I2 ~! m) H5 e+ N

% E+ w+ d' d8 w% R6 `' Z, l$ e3 f9 Y9 R, k
一面
+ M5 X* n3 g) v一面碰到高手L,高手L就出了一道题,条件:给几十台mysql服务器,和一张访问非常频繁的数据表, M' E6 N! u- A6 U2 J
1 问如何设计,能够提高表的大规模并发访问性能?
: f8 ~8 w1 A! R6 N我说要切分表。% Q) L1 }( P+ N6 i- Y: U& G: `
2 问怎么切分?
- K1 ^+ r- I% P1 }6 B  h$ C我说hash静态切分ID,把表切到各个服务器上。
$ ]% H* {, u2 r) C3 hash的话假如节点经常悲剧或者经常有新的节点假如怎么办?数据暴增怎么办?某部分数据过度频繁访问怎么办?/ X' ^2 ?2 K( \' z2 I
我说 经常挂节点就用一致性hash,或者用动态切分的方式,增加索引服务器(MDS)记录映射关系,然后局部数据过热做迁移。+ C( `1 a* d. S& ^+ J; `
4 迁移怎么迁?迁移过程中怎么保证业务连续性?迁移的话如果源服务器挂掉怎么办,怎么保证可用性?8 j5 _  J  `% [' ^' C
我说 迁移后不删除源信息,要更改MDS上的元数据信息,元数据设计是(一段ID范围,一组服务器),然后在读某个ID时就在这个ID对应的这组服务器内做round robin方式的负载均衡。
+ u4 t3 p8 K  r* |5 如果用这个方法运维怎么办?一致性如何保证?
$ R( S! f$ P$ ~: p! l6 G我说 那就干脆做副本吧,弄一个专门的备份服务器pool,哪台悲剧就顶上哪台,读的话直接做副本,写的话就做迁移。在运维时或者做OLAP时,直接忽略备份服务器pool中的数据。
2 U- q: v+ G& }" a7 P6 那这种数据切分方式在遇到比如select * order by或者group by之类的查询怎么办?' O* }/ U1 b* d' [) q7 @$ Z$ E
答 每台服务器内部做order by group by操作,然后再做归并
6 b+ i* i" W2 t9 g% X' ?* H7 那怎么select top 100呢。  p9 {& F- O. C3 X; {
每台top100,做胜者树归并。
. y, k% G& k4 W4 P0 n) ]$ \8 那要统计去重复之后的结构呢,比如select * count(distinct name),去除重名的数据行,统计系统中有多少个name
; B& R" L, N, w" ?- F" B% |, b答 单个mysql内部做select distinct操作,多个mysql服务器做归并。归并方法我说bloom filter,被否决,认为不精确。字典树,被否决,认为如果字符串中有汉字之类的,分支太多。最后老老实实多路归并,问多路归并怎么归并。答胜者树,不满足。答堆,勉强接受。) X6 [7 J3 E& O: ^7 S0 z5 Y, X6 x, K
最后讨论了下 两个有序数组在归并时,怎样将复杂度降低到O(logn)
- Z' |& d1 `, Q) E* W8 z! B! }
: O# ~: Q6 C4 U; }二面5 ^: k) K3 \! S# @2 F1 j
一面面完元气大伤。二面碰到熟人,已经说不出来话了。& ~. M. q, \. d# a4 D2 @4 j- o
这个部猛男剧多的。4 P  ?: |5 R8 O6 M
挂了吧。。。$ e' s: O( ^. h2 n; n
; m9 N' y- o2 S( p( U/ X
. u! F/ j9 m  r% ~) e+ S8 b; S
, L% @- ~$ W- Y2 t/ H3 {7 V
文章摘自2012阿凡提求职手册——IT行业篇
( p1 O& P, a( h1 R$ c5 ohttp://bbs.aftjob.com/thread-607158-1-1.html
( F4 E6 d# {4 ?4 A% g9 ?——! F4 V% N- S2 N" _- ?/ d  D  I  g
阿凡提百度(Baidu)求职俱乐部
4 }( {8 i7 e1 Y% |- f+ o  f" Vhttp://bbs.aftjob.com/group-4-1.html
2 @9 D) [# R+ v0 f- f- F2 g. s——2 [1 E0 Y: T7 R  j- O/ S
关于Web前端及百度web前端笔试面试题目; W  O! `6 R, K7 P3 `
http://bbs.aftjob.com/thread-31614-1-1.html( V5 K0 w( J5 M
百度质量部测试一面面经
$ s7 C. A$ K! ~/ ~' u& y% o& j# i  Fhttp://bbs.aftjob.com/forum-viewthread-tid-31594-fromuid-35176.html7 e8 ]" t5 i, S( a) d: P" J
百度面经篇
1 @& X4 F. X& i# ]9 q9 B! hhttp://bbs.aftjob.com/forum-viewthread-tid-469368-fromuid-35176.html
5 _' E! `( u9 p0 I6 P& n——8 g- S  P9 ^3 |7 {/ V5 ]+ c
阿凡提(aftjob.com)求职社区
# V( C5 ?2 H8 T阿凡提求职俱乐部-国内第一家网络求职俱乐部,提供企业求职俱乐部和高校求职俱乐部交流平台。3 `; ^+ k* }; S# o! ]
——
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2026-11-12 17:05

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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