【程序員面試系列】手把手教你如何面試,你要的我都有(技術篇)

作者:Dimple

solgan: 當你的才華還無法撐起你的野心時候,那應該靜下心來好好學習

前面一篇文章講的是面試前簡歷的準備。從自我介紹個人信息個人技能工作經歷和教育經歷,四個大的緯度來詳細表明做好一份簡歷的重要性。

今天我們繼續面試前的準備,關於:技術知識準備算法題準備

技術知識準備


相信大家經常會聽到一些經驗十足的大佬們會這麼建議,簡歷上對技能的掌握程度需要根據自己的實際情況描述,不能一股腦的寫精通。

小編之前和師傅面試別人的時候,也會特別注重這個字眼,瞭解就是了解、熟悉就是熟悉、精通就是精通。你寫的是哪個程度,就針對相應程度問你不同問題。

所以,這部分需要特別注意,千萬不能弄虛作假,千萬別打自己的臉呀。你要對自己負責,列出來的技術,你一定要把最基本的細節給掌握了。面試官一般會根據你寫的等級,逐步加大問題的深度和難度,判斷你到底處在哪個層次。所以,還得系統地、努力地學習,才能從容應對。

這裏簡單的寫幾點

  • 你寫的技術棧是Java,那麼你對Java的基本語法肯定要了解,併發編程、I/O、NIO、JVM根據不同的程度,瞭解不同的深度。還有現在常用的Spring、SpringBoot、Netty這些框架

  • 你寫了NoSQL中的Redis,那麼你需要掌握Redis的數據結構、性能優化、分佈式、集羣等。耗子叔建議是至少要把官網上的那幾篇文章讀一讀

  • 你說你瞭解面向對象,是針對面向對象編程。那麼問題來了,你對設計模式瞭解嗎?所以還得熟悉23鍾設計模式,以及S.O.L.I.D原則等

  • 你寫了SQL,那不僅僅需要知道簡單的CRUD,還得知道相應的特性,MySQL和Oracle各自的優缺點,等等

總之一句話,不管你在簡歷上寫什麼技術,那你肯定是對這些技術有了一定的瞭解甚至是熟悉(精通更好)。

其實這個和學校裏的考試是差不多的,考試也是偏理論的,你仔細回憶下你大學考試是怎麼過來的呢?你是怎麼挑燈夜戰的呢?還不是把老師敲黑板的重點都記住,關鍵點都學會,是吧。你不用搞定所有知識點,但也得至少懂個七八成,纔對得起自己付出的努力。

算法題準備


小夥伴們肯定也看過很多拿到某某公司Offer的攻略,比如《LeetCode刷了xx道題,拿到xx大廠Offer》、《如果你要進大廠,這些xx算法必知必會》。很多號主都會拿自己的親身經歷來表明, 刷題是有多麼的重要。其實這是一個很現實的問題,尤其是針對一些校招,各種算法題。

所以所以,算法很重要、算法很重要、算法很重要。是你面試大中型企業必須努力學習和準備的。

耗子叔在專欄裏聊過,也強調過,LeetCode是一個不錯的地方。其實不只是耗子叔,很多大V都一再強調,就像前文強調GitHub的重要性一樣,老生常談。

如果你能完成其中50%的題,那你基本上可以面試大部分的企業了。悄悄告訴你,小編對算法也不大懂,當初面試的時候,讓候選人寫冒泡,自己偷偷看手機學習來着呢。但是,我可是個反例,我就想告訴你,算法沒那麼害怕,其實都是有套路的。

小編在平時一直和朋友們強調,算法都是有規律可循的。當你做題做的多了,遇到類似的題,你就能知道該用什麼方法拿出最優解,時間空間複雜度是更佳。舉幾個簡單的例子(參考《左耳聽風專欄》):

  1. 讓你在一堆無序的數據中找top n算法,那麼練習完幾題之後,就知道基本是使用最大堆或是最小堆的數據結構

  2. 如果是二叉樹問題,基本上來說,就是使用深度優先、廣度優先、或者回溯等遞歸的思路,百試不爽

  3. 動態規劃還是必備的,就比如買賣股票、揹包問題、改字符等等。。。(學習羣每週有算法挑戰

  4. 經典的數據結構必不可少,比如,二叉樹、LRU算法、字符串匹配、迴文等,這些實在是常見,你不學會都不好意思

  5. 還忘了一個經典,數據排序方面的問題,二分查找、冒泡、快速排序等

小編也很後悔,當初沒有更認真的去學習數據結構和算法,這門課是大學裏少有的通用課程,和語言無關,主要都是針對思想,幾乎每個學校都會涉及,甚至都是必修課。所以,一定一定要重視起來。

打個小廣告:知道很多朋友平時沒有約束,也不知道如何選題,可以加入小編的學習羣,每週一篇翻譯 + 算法學習。一個人走的快,一羣人走的遠,歡迎加入社羣,同更多的人一起奔跑


如果做好技術知識和算法題的準備,你get到了嗎?

下篇文章中,介紹面試前的準備中最後一項,工作項目準備,比如如何對工作中的項目進行總結。敬請期待~

奔跑吧,攻城獅們!

發佈了115 篇原創文章 · 獲贊 44 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章