记录一次金山面试

前几周去了金山面试,是在金山在上地的新办公大楼,周围还是比较荒凉的感觉。到了那里直接跟前台小姐说了来面试的,于是帮我找了相关的人就上去了,还是很有亲和力的。
言归正传,面试的时候对面是2个面试官,一位是很多搞系统工程师的人都认识的张宴,另外一位逍遥网的技术老大张鹏翼了。
一开始就是随便聊到工作经历啥的。主要看你以前工作中涉及到哪些问题。当然我以前工作就一个WEB源站和报警监控系统。
对于我的问题主要有如下2个感觉回答不好,第一个是mysql slave中的SQL进程和I/O进程分别代表着什么。我基本的思路是跟FTP协议一样,一个是信号控制,另外一个是数据传递。但是我并确定,所以直接回答的是不知道。现在想想当初应该把自己的想法说下的再说不知道后。回家查了下资料,I/O是用来跟master之间进行信号控制的,而SQL进行更新MYSQL数据的。
另外一个是MYSQL HA的问题,这个我确实之前没有做过。所以一点头绪都没有。但是我还是想到了MYSQL有一个主-主模式。如果这个主-主模式的数据库机器之间是做HA的,那感觉主-主模式还是可以实现mysql HA功能的。但是主-主模式真的能保证2个mysql之间完全的同步吗?虽然发生不同步的情况几乎很少发生,但是在理论上还是会发生,比如同步有延时导致的2边数据库不完全同步。回家查了下资料是有这方面的软件,比如mysql-ha,或者google开发的replication semi-sync patch都能实现这样的功能。还有一个我们手动的检测方法是,每次主数据库进行了update或者insert以及create相关操作后再另外一台主上进行相应的查询。
接下来就是cacti方面的问题,这些都没什么难度,毕竟之前对cacti也是有过深入了解的。
其实一般面试官从来不会要求面试者能够全部回答出所有的问题,对于回答不出的问题只需要调整下思路,说出自己的看法来就成。很多问题很多时候我们就算知道它的答案,也未必知道它的原因,这样缺乏了一个思考的过程,这样我们的大脑就跟硬盘没有区别了。

后记:金山面试一般为3轮,第一轮为技术,第二轮为人事,第三轮为BOSS。主要是第一轮为主,后面2轮只要你人品没啥问题就基本OK的。金山的薪水水平算是中等,但是里面技术氛围应该挺不错的。