|
|
10.19 – 百度基础平台部 - 耗子
6 U- U3 E: R8 W) V1 ]6 h% ~& k; a- Q6 T2 `) ?* \& z/ v- }
# ]5 w5 k7 H v! W7 K* a, o0 y, i3 c2 l% K# X$ S! U
一面
% C, f+ P& C$ a s5 }一面碰到高手L,高手L就出了一道题,条件:给几十台mysql服务器,和一张访问非常频繁的数据表
! ^6 C# v) i6 t& }0 e: D1 问如何设计,能够提高表的大规模并发访问性能?
7 a2 G& `% b7 ^我说要切分表。, [; O0 ]$ _" h9 R! R. J2 g- N% j
2 问怎么切分?9 Z q; g5 Q1 f; `8 M7 ^; ?
我说hash静态切分ID,把表切到各个服务器上。
! }8 ^1 E' A/ g* o1 Q3 hash的话假如节点经常悲剧或者经常有新的节点假如怎么办?数据暴增怎么办?某部分数据过度频繁访问怎么办?
! W. k! w8 Q& K M) f我说 经常挂节点就用一致性hash,或者用动态切分的方式,增加索引服务器(MDS)记录映射关系,然后局部数据过热做迁移。3 N) f* `! b" q3 ~) [+ ?/ l7 `
4 迁移怎么迁?迁移过程中怎么保证业务连续性?迁移的话如果源服务器挂掉怎么办,怎么保证可用性?) i6 q% | E% q0 r2 |3 U, z) r
我说 迁移后不删除源信息,要更改MDS上的元数据信息,元数据设计是(一段ID范围,一组服务器),然后在读某个ID时就在这个ID对应的这组服务器内做round robin方式的负载均衡。
& q& }0 p: [# s8 X$ N7 o5 如果用这个方法运维怎么办?一致性如何保证?3 {" m2 ?9 b' W4 V
我说 那就干脆做副本吧,弄一个专门的备份服务器pool,哪台悲剧就顶上哪台,读的话直接做副本,写的话就做迁移。在运维时或者做OLAP时,直接忽略备份服务器pool中的数据。
7 `% R9 ]' Q& r( l+ V# a, U8 V e4 _6 那这种数据切分方式在遇到比如select * order by或者group by之类的查询怎么办?
: E% h, |) C' n8 h答 每台服务器内部做order by group by操作,然后再做归并
5 T+ _. }/ ]% L; F& t7 那怎么select top 100呢。9 N3 ^6 f1 J. L0 S2 R. ~ | {
每台top100,做胜者树归并。! @, C' `: j& W0 r$ @' C) P2 o
8 那要统计去重复之后的结构呢,比如select * count(distinct name),去除重名的数据行,统计系统中有多少个name
. P, }4 f: s# X. Z+ q0 }答 单个mysql内部做select distinct操作,多个mysql服务器做归并。归并方法我说bloom filter,被否决,认为不精确。字典树,被否决,认为如果字符串中有汉字之类的,分支太多。最后老老实实多路归并,问多路归并怎么归并。答胜者树,不满足。答堆,勉强接受。
! [5 G! | J* m5 x最后讨论了下 两个有序数组在归并时,怎样将复杂度降低到O(logn)& g; \% L0 Z% `# }, U+ z! O
* `( t9 o/ v) G0 a; T1 x二面
9 ` ?( X" @( G! {2 y7 q) v+ o一面面完元气大伤。二面碰到熟人,已经说不出来话了。
, e; ~/ A3 i X3 u这个部猛男剧多的。( e% q* U9 R& k' }3 e: f5 }
挂了吧。。。
$ [* r0 A0 M$ Q! l
0 X/ N* f% N! h$ B' l; ~6 W! Z2 Y- |# I
* a( F8 d* Y1 n: {8 k文章摘自2012阿凡提求职手册——IT行业篇
5 D' N8 J$ |1 E# O1 I dhttp://bbs.aftjob.com/thread-607158-1-1.html# ^2 P/ |. z1 t5 H3 [
——
' b" z2 C5 k2 U- I1 ~; I1 A- ^) Q阿凡提百度(Baidu)求职俱乐部9 d, M, z- x; X
http://bbs.aftjob.com/group-4-1.html" a3 `- L' c I2 _. q+ x" i* D5 U
——
- | J' }# g' N0 ^/ S关于Web前端及百度web前端笔试面试题目
2 j) V! C/ R \4 _0 qhttp://bbs.aftjob.com/thread-31614-1-1.html; y" I3 L5 v$ F& A
百度质量部测试一面面经
8 i2 ?! _& J; ?+ b; o' Xhttp://bbs.aftjob.com/forum-viewthread-tid-31594-fromuid-35176.html% I7 j2 m/ g# c0 _
百度面经篇- v7 ?+ X2 n' h. U
http://bbs.aftjob.com/forum-viewthread-tid-469368-fromuid-35176.html
0 I: ^- V; A% [) f8 G2 m* Z——
+ z5 G ^; M+ Z7 \4 ]阿凡提(aftjob.com)求职社区# I5 n& ^& j, y0 I* R! Z
阿凡提求职俱乐部-国内第一家网络求职俱乐部,提供企业求职俱乐部和高校求职俱乐部交流平台。
' {- i) k$ h: k) h6 L+ }—— |
|