1. 程式人生 > >上海愛可生技術2面

上海愛可生技術2面

今天在上海愛可生進行了第二次技術面試和HR面試。面試我技術二面的是愛可生DBA大牛沈波。很愉快的和沈波大牛進行了半個多小時的交流。面試還是一個套路,首先進行自我介紹。介紹完畢後交流了一些技術,說交流是因為沈波大牛真的沒有大牛架子。完全是本著交流和解惑的態度對我進行了技術二面,經過兩輪技術面試,使我對愛可生DBA部門的大佬甚是欣喜。在技術二面中主要還是根據簡歷提了一些相對一面更加綜合性的問題。我在談經歷的過程中特意地提起一些自己比較有想法的點,談一些自己對一些MySQL知識點的感悟,如nexted-join next小表驅動大表的問題(QQ群裡別人遇到的問題,我幫助其具體分析解決)、一面中面試官對提到的5.7相對5.6複製上的改進點group commit(一面之後我問了下面試官並自己通過讀MySQL運維內參和百度的方式有了比較深的理解),甲骨文MySQL交流會上吳炳錫的說的after_commit、after_sync的問題,以及在面試前一晚我在愛可生官網的乾貨分享中所讀到的一個關於loss less的文章(面試結束後他說這篇文章就是他寫的。。。)...感覺面試就要這樣子,不能面試官問什麼你就答什麼,在答好的情況下還要引導面試官去討論自己有深入理解的部分。具體面試的話題的話就是:
1.自己學習的方式(以及自己對這些方式的見解)
2.針對一面的group commit讓我做了比較深入的講解,說明在從庫為什麼能夠保證併發,還有last_committed和sequence_number的關係等等。(感悟是理解一個東西不一定要理解原始碼但是一定要理解的很透徹而且要有自己的分析和見解)
3.在談到after_cimmit和after_sync的時候讓我談下自己這些東西的區別
4.接著上面繼續談論我對一致性的理解,之前我一直以為主從不一致一定是主庫上的事務還來不及在從庫上重做從而產生不一致。但是,沈波大牛讓我意識到了還會存在一種情況,在after_sync的情況下,會存在這麼一種不一致的清況:
當主庫將一個事務做到了sync階段,尚未commit,從庫已做事務完成,正在返回ack到主庫,此時主庫宕機,主庫還未來得及接收ack,或者還未執行commit。主庫的事務會因為沒有commit會所以尚未完成,但是此時可能從庫已經提交完成,這時如果進行主從切換就會發生主庫上尚未提交完成應該在宕機後被回滾的的事務在切換後卻在故障後的主庫上已經提交成功成功。這樣就會造成主從不一致,區別與上一種的主從不一致。(這點真的是這次面試最大的技術上的收穫)
5.我問了他一些相關愛可生公司的問題