遭遇調崗,降薪,下半年到底該不該跳槽?

受疫情影響,很多人今年上半年根本不敢跳槽找工作,甚至相當多的程序員遭遇了裁員、調崗、降薪等!好在金九銀十面試季到了!

面試的時候,很多人都小心翼翼,如履薄冰,擔心,面試緊張、卡殼、答不上來怎麼辦?生怕自己說錯一句話,就錯失機會。

被面試官吊打,碾壓,是常態,畢竟大多數面試官工作經驗和技術都更加豐富嘛。

但是,術業有專攻,總有一些技術牛逼的程序員可以吊打、碾壓面試官!

本人經常隔段時間就偷偷投點簡歷,請假出去面試幾次,目的不是想跳槽,主要是爲了看看市場上的技術流行趨勢,順便檢驗一下自己的水平,當然,如果面到了心儀的公司或者大廠,那不是更好嘛,哈哈哈!

前段時間收到了字節跳動的面試,雖然有點小震驚,但還是用平常心對待了。結果一不小心,面試的時候就吊打了面試官。不愧是我!

前後一個半小時的面試過程全程沒卡殼,項目和算法全部搞定,甚至聊到了面試官的盲點…

面試官:我看你簡歷上掌握的技術還蠻多的啊。

在下:還行還行,平時會多研究一下。

面試官:那直接開始吧。我看你寫着熟練掌握分佈式技術,那麼在多線程併發的情況下,如何保證一個代碼塊在同一時間只能由一個線程訪問?

在下:簡單,可以用鎖來保證。比如java的synchronized語法以及reentrantlock類等等;

面試官:嗯嗯,如果在分佈式的集羣環境中,如何保證不同節點的線程同步執行呢?

在下:對於單進程的併發場景,可以使用語言和類庫提供的鎖;對於分佈式場景,可以用分佈式鎖。

面試官:分佈式鎖的實現有哪些?

在下:Memcached分佈式鎖、Redis分佈式鎖、Zookeeper分佈式鎖、Chubby;

面試官:喲呵,你對分佈式鎖研究很深嘛。如何用Redis實現分佈式鎖?

在下:加鎖使用setnx命令,key是鎖的唯一標識,按業務來決定命名……(此處略去)

面試官:Redis與Zookeeper實現分佈式鎖的區別?

在下:redis分佈式鎖,需要不斷去嘗試獲取鎖,比較消耗性能;zk分佈式鎖,獲取不到鎖,註冊個監聽器即可,性能開銷較小;redis獲取鎖的那個客戶端bug了或者掛了,那麼只能等待超時時間之後才能釋放鎖;而zk的話,因爲創建的是臨時znode,只要客戶端掛了,znode就沒了,此時就自動釋放鎖…

面試官:我們聊點別的吧……我看你關於併發這一塊也瞭解過,雙11高併發大促場景下,爲什麼淘寶只能夠下訂單, 而不能夠退款?

在下:高併發系統有三把利器用來保護系統:緩存、降級、限流,不能退款就是服務降級,保證核心任務的正常運行…

面試官:支付寶轉賬提現功能應該如何優化?

在下:一致性、高吞吐方案等,具體的實現可以…(此處略去)

……

面試官:現在我有一個十萬大小的數據集,要從中尋找選出最大的10個元素,怎麼做呢?

在下:可以建立一個最小堆,首先取10萬個元素中的前10個元素來建立由10個元素組成的最小堆。這樣堆頂元素便是當前已知元素的第10大的數;然後依次讀取剩下的99990個元素……

面試官:非常非常棒啊!可是今天已經3點了,天色不早了,您先回去等通知吧!

在下:???


面試的時候,開口第一句,面試官就知道你的水平了。你很多東西用過,但是並不懂底層原理,面試官一問,你就啞火了…

所以,在這段市場行情不容樂觀的時期,想要跳槽也要充分了解技術能力需求和入職門檻,再認真審查自身技術含量,做到知己知彼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章