最近很多同學諮詢關於校招準備的問題,溝通下來發現發現了很多共性的問題,因此,今天總結一下這些問題,為希望進入互聯網研發崗位的同學提供一些參考建議。
1.專業出身有決定性影響嗎?
答案是否定的。
最近幾年經常負責面試社招和校招,校招也面試過很多非計算機專業的同學。實際上,能拿到offer的同學跟專業本身有一定關係(有什麼關係後面會說),但沒有決定性關係。尤其是校招和實習面試,不會對方向對口有特別嚴格的要求,這一點和社招是有巨大區別的。
校招面試更偏向於看重個人的綜合能力。
所謂綜合能力,一般有幾個方面構成。
1)基礎知識的紮實掌握
2)項目經驗
3)自驅力
2.基礎知識考察
基礎知識的積累是一個長期的過程,但是面試跟考試一樣,還是有重點和必考點的。
這裡介紹一下常見的必考點(建議讀者根據必考點自己梳理知識點,網上相關的面經太多了,就不展開羅列了)
1)編程語言
以Java為例
- 集合的使用與原理(set、list、map等)
- 多線程與併發編程(java內存模型、各種鎖)
- JVM相關(各種GC算法、類加載機制)
- Java8特性
2)數據結構與算法
必考點。建議刷leetcode,做題型總結。
數組、鏈表、貪心、動態規劃、dfs等等。
3)數據庫知識
- 存儲結構(B+樹)
- 索引(聚簇索引、非聚簇索引、覆蓋索引等等)
- 事務(隔離級別、髒讀幻讀、MVCC、各種鎖)
4)操作系統與網絡相關
- 進程與線程
- TCP/IP
- 擁塞控制
5)常見框架(Spring\\SpringMVC\\Springboot\\Mybatis等)的使用、核心原理與實現
- IOC與AOP的原理
- Bean的生命週期
- Mybatis使用的設計模式
3.項目經驗考察
經常有同學問項目經歷重不重要?
答案是肯定的,非常重要!
項目經驗是面試中最關鍵的地方。如果說基礎知識作為門檻石,那麼項目經驗考察的結果往往能決定你是否能成功在其他面試者中脫穎而出。
項目經驗常見問題如下:
- 項目的整體感受或者一個架構圖
- 你在項目中負責什麼模塊
- 使用了哪些技術
- 有沒有遇到什麼困難,如何解決的
面試官需要從你的項目中,深入去問你做過的東西,運用的知識,考察你對相關組件的掌握程度、總結能力、個人思考能力、解決問題的能力等多個方面。可以這麼說,有一個好的項目,能好好總結,並在面試中體現思考力的,基本上offer就穩了。
而非科班的同學最容易吃虧的地方也在這裡,沒有一個相關的項目經歷,或者只能簡單搭建一個項目,並不能很好深入去理解。
那我的建議很簡單,實習!儘量能找到一份相關的實習經驗,並對自己的負責內容有深入的瞭解,能很好地總結並回答上述的問題,畢竟生產環境是增長經驗最快的地方。
那如果沒有實習呢?或者說實習面試的時候問這項目經驗呢?
所謂萬丈高樓平地起,做人只能靠自己~
別無他法,只能自己嘗試搭建一個方向相關的項目練手。
不是簡單搭建一下就完了,而是需要對相關組件做深入學習。
並能根據不同的問題和場景,進行不斷迭代和優化,把這個過程能總結下來,實際上也是一個非常出彩的項目。
這裡,我以一個WEB項目做例子。
如何深入學習?
1)你用了spring,知道@autowire是怎麼把對象注入的嗎?
2)在用設計數據庫表的時候,為什麼推薦使用自增id呢?
3)mybatis跟JDBC有什麼關係?
如何迭代和優化?
1)你的代碼有沒有用什麼設計模式?
2)鑑權是怎麼做的?有哪幾種方式?有什麼優缺點?
3)數據庫數據量大了怎麼辦?訪問請求多了怎麼辦?
類似這樣的問題,如果都能回答的很好,相信我,你就能脫穎而出了!
4.自驅力
除了基礎知識和項目經驗,面試官們往往也喜歡問這樣的問題:
1)最近看什麼書?
2)關注什麼最新技術?
3)有沒有什麼博客或者個人項目?
這些問題希望考察什麼?就是一個面試者的自驅力。
一個對技術保持熱情,時刻關注技術發展,善於自我學習和自我總結的校招生,永遠是校招面試場上最受歡迎的人。
事實上,這個能力對非科班的同學更加重要。
這也是我說的,面試跟專業有一定關係的原因之一,由於不是計算機專業畢業,所以很多計算機專業課程需要去自學,只有擁有強大的自驅能力,才能比其他計算機專業的同學做得更好,在面試中脫穎而出。
5.其他需要重點注意的問題
以下問題倒是真的跟專業有一定的相關性,需要非計算機專業的同學格外注意。
那就是充分的信息收集。
非科班同學可能相對缺少互聯網研發學長的資源,因此,可能會缺乏獲取崗位信息、面試信息等重要信息的渠道,因此,一定要發揮主觀能動性,積極去尋找相關資源獲取幫助。
避免由於信息不對稱而吃虧。
切記切記!!
希望對大家能有所幫助,順利拿下offer!
希望能得到您的 關注、評論、轉發,謝謝!
私信我“資料”,可以免費獲取海量 JAVA技術棧電子書 和 大廠面試題。
閱讀更多 阿丸筆記 的文章