|
|
10.19 – 百度基础平台部 - 耗子8 @5 Q1 Z! ~4 |) Y
8 G, w/ n# v3 ]% s
) M0 x8 `* g: d( D0 i3 d$ p8 C* j
* ]6 H. S+ [5 @* |7 n- N% {8 M4 M' N
一面
, G! J9 m& S3 g1 \! K2 H) L一面碰到高手L,高手L就出了一道题,条件:给几十台mysql服务器,和一张访问非常频繁的数据表
/ I% |3 G7 z8 ]4 e1 问如何设计,能够提高表的大规模并发访问性能?
" K& \5 w# O7 p! u% g! V4 e7 R2 T我说要切分表。6 v, H7 A9 x( R2 w
2 问怎么切分?
?. U; j: a) Z我说hash静态切分ID,把表切到各个服务器上。! T6 [! L1 J3 k; J' A) V {" u
3 hash的话假如节点经常悲剧或者经常有新的节点假如怎么办?数据暴增怎么办?某部分数据过度频繁访问怎么办?
# e, ^. F o7 R8 q我说 经常挂节点就用一致性hash,或者用动态切分的方式,增加索引服务器(MDS)记录映射关系,然后局部数据过热做迁移。; h, o% S% s6 V* o0 M, p
4 迁移怎么迁?迁移过程中怎么保证业务连续性?迁移的话如果源服务器挂掉怎么办,怎么保证可用性?& }" N, ~ s% D l9 f+ u, a9 L n7 u8 s
我说 迁移后不删除源信息,要更改MDS上的元数据信息,元数据设计是(一段ID范围,一组服务器),然后在读某个ID时就在这个ID对应的这组服务器内做round robin方式的负载均衡。. X& ?7 e' d7 U( E% V5 l0 K" T
5 如果用这个方法运维怎么办?一致性如何保证?; v' S- E: L$ [' B/ J! I) y3 M9 l
我说 那就干脆做副本吧,弄一个专门的备份服务器pool,哪台悲剧就顶上哪台,读的话直接做副本,写的话就做迁移。在运维时或者做OLAP时,直接忽略备份服务器pool中的数据。
$ I6 |- d" t) A6 那这种数据切分方式在遇到比如select * order by或者group by之类的查询怎么办? D; \' `8 |- [: H7 ~
答 每台服务器内部做order by group by操作,然后再做归并
( Z2 F _6 C c' R7 那怎么select top 100呢。
( g) P4 g3 f4 ?# |% t/ Z$ b每台top100,做胜者树归并。
# I- K7 D! `5 j8 那要统计去重复之后的结构呢,比如select * count(distinct name),去除重名的数据行,统计系统中有多少个name/ Z: ]( Q- I/ C- y4 F
答 单个mysql内部做select distinct操作,多个mysql服务器做归并。归并方法我说bloom filter,被否决,认为不精确。字典树,被否决,认为如果字符串中有汉字之类的,分支太多。最后老老实实多路归并,问多路归并怎么归并。答胜者树,不满足。答堆,勉强接受。
# s8 f, b& f' `# e: @9 C最后讨论了下 两个有序数组在归并时,怎样将复杂度降低到O(logn)8 p% u0 `' ` H3 J3 v/ m" l0 N
8 \2 r: ^2 j0 @0 k二面( a, O9 L8 U0 ^8 U
一面面完元气大伤。二面碰到熟人,已经说不出来话了。: ~9 d7 Y3 |& K( w. M9 W4 `
这个部猛男剧多的。
6 K1 N b# g' R挂了吧。。。2 l% d! b- A, e# s; L
2 s4 D- x7 Z. z8 Q, W' N
. T, ~1 S6 K2 I7 d
, @% s" B- u3 _3 _文章摘自2012阿凡提求职手册——IT行业篇 ) H9 X" O1 \) ~5 `, [- N, F5 E! p, h
http://bbs.aftjob.com/thread-607158-1-1.html
( |4 E8 s" K, {% ]: X! z$ T) x——
" S* U8 ] a+ S! s O4 z) v( C$ }+ n阿凡提百度(Baidu)求职俱乐部
0 D5 `, I0 X; B6 E0 shttp://bbs.aftjob.com/group-4-1.html2 Z, u/ D0 H, G+ U
——
% @0 h0 Y4 k R& T* x# I& M6 ^关于Web前端及百度web前端笔试面试题目4 R' X* B" r& e) y& K
http://bbs.aftjob.com/thread-31614-1-1.html
( Z# k) G# {. O3 S4 Q百度质量部测试一面面经
( U2 \6 Z2 m7 Z; A; p9 rhttp://bbs.aftjob.com/forum-viewthread-tid-31594-fromuid-35176.html$ ]9 x8 @) j# ~; x
百度面经篇
% e2 |5 t: J) Z$ m% x$ R& ?http://bbs.aftjob.com/forum-viewthread-tid-469368-fromuid-35176.html
4 |% n5 t ?% p1 t5 b7 b——
U: s% O( v- P% \' n' g阿凡提(aftjob.com)求职社区$ ]6 h" ]# `4 `' O
阿凡提求职俱乐部-国内第一家网络求职俱乐部,提供企业求职俱乐部和高校求职俱乐部交流平台。; e2 v! n- k2 G6 v& j: a
—— |
|