網際網路行業雖然不如幾年前那麼火爆,甚至大環境頗有進入寒冬的風聲,但是只要掌握行業必備的知識,努力打好基礎並持續提升自己,還是很有希望收穫滿意的offer的。下面我給大家分享一下我整個求職歷程的準備經驗+面試經驗,希望對大家有幫助。
普通211本科非計算機專業,沒有任何實習經驗。
校招期間,大大小小的公司一共投遞60多家,不過也放棄了很多家。(這裡一定不要嫌麻煩,集中投簡歷確實是一件很枯燥的事情,但是為了增加求職成功的概率,是必須要克服的)
最後拿到的offer:vivo、oppo、平安科技、深信服、美團、騰訊、蘑菇街、恒生電子。還有一些小公司或者知名度不太高的就不列舉了,之所以投遞也是為了積累面試經驗。
大三上半學期的時候,就必須要規劃自己的人生路線了,要儘快決定考研還是找工作,不要後面長期猶豫不決。
如果是網際網路行業的話,我個人建議是優先找工作。因為這個行業,大部分情況下工作經驗比學歷更重要。但是並不是說碩士就不如本科,而是面試官對碩士的期望值常常會高於你的成長值,導致面試官落差很大,不利於面試過程。面試官可能會覺得相比之下還不如找一個年輕的本科生更划算。
如果決定了找工作,那麼就要儘早開始做準備了,尤其是對於非科班出身的同學,需要學習的基礎更多。下面我就分享一下我決定找工作後備戰秋招的準備工作。
我找工作的方向是技術崗,需要學習掌握的知識很多,所以我用一年的時間來學習相關內容,代碼語言我選擇了JAVA,有能力和精力的話強烈建議再掌握C語言或C++,對面試有加成效果。
針對所有需要掌握的能力,我來分別總結一下重點內容:
一、項目(最重要)想要在校招中收穫不錯的成果,擁有項目經歷肯定是必不可少的。不管是自己做項目,還是有一份不錯的實習經歷,都可以在面試中遊刃有餘。如果你的項目很不錯的話,拿到sp offer,更高的年薪都是可能的。
而我因為之前太愚鈍,沒有找實習的意識,所以只能通過自己做一些項目來補足短板。
對於項目的選擇上,不要選太簡單的,那樣含金量不夠。項目期間要注意收集難點和問題,面試時候都會問到。
二、數據結構數據結構是必須掌握的內容,是面試的必考點,一般會以單個知識點的形式問一些小問題:
1、數組:包括概念、用法、基本操作,多維數組等
2、隊列和棧:包括區別、用法、常用方法、雙端隊列等
3、鍊表:包括特性、使用場景、不同鍊表元素特點、單雙鍊表、反轉等
4、字符串:包括常用方法、操作字符串、切割、反轉、元素等
5、哈希表:包括鍵值對、存儲格式、哈希函數等
6、樹和圖:包括較複雜的算法、遍歷、二叉樹和完全二叉樹、最優路徑算法等
三、資料庫和SQL語句技術崗是必須具備資料庫能力的,熟悉常用資料庫,熟練掌握常用的SQL語法:
1、主鍵、外鍵、超鍵、候選鍵概念
2、drop、truncate、 delete區別
3、什麼是臨時表,臨時表什麼時候刪除
4、非關係型資料庫和關係型資料庫區別,優勢比較
5、資料庫範式;varchar和char的使用場景
6、什麼是內連接、外連接、交叉連接
7、索引的概念和用法;事務的概念和用法
8、樂觀鎖、悲觀鎖、死鎖、主從資料庫的概念
9、SQL語法:insert、delete、update、select、where、or、and
10、SQL關聯查詢、排序、分頁查詢、效率優化等
四、作業系統不同的公司對作業系統的考察要求不一樣,但是總體來說對作業系統的要求不高,只需要記住一些重要知識點:
1、線程和進程的區別;進程間的通信的幾種方式
2、多線程;線程的實現方式;內存溢出
3、Linux或Windows下常用的操作命令
五、計算機網絡1、OSI七層模型、TCP/IP協議簇、IP掩碼網關、ARP、DHCP的概念
2、TCP和UDP的區別;TCP三次握手四次揮手;TCP中的流量控制和擁塞控制,TCP可靠性傳輸
3、交換機和路由器、HTTP/HTTPS協議內容、DNS解析、socket通信
六、手撕代碼(算法)面試中極大概率會讓你在白紙上手寫算法,所以常見的算法一定要爛熟於心,頻繁練習和理解,能做到不假思索就寫出來。因為事實證明,如果你只是一般程度的理解,那麼在面試中,極大概率會因為緊張,一個字都寫不出來,那就很危險了:
1、八大排序算法;遞歸;實現隊列和棧;
2、單例模式;二叉樹遍歷;二分法查找;字符串操作;
3、哈希算法;算法的時間複雜度和空間複雜度
接到面試肯定是既驚喜又緊張的,下面我就分為面試常見考題和面試法寶兩個方面傳授一下經驗。
一、常見考題1、介紹知道的網絡知識,三次握手,tcp /udp的區別
2、進程,線程的區別;鎖機制;多線程?多線程會出現什麼問題?多線程通信方式?
3、java多態?重載好處、壞處?;java內存空間?什麼時候需要回收?mvc了解嗎?
4、同步處理?synchronized、volatile?;mybatis是什麼?原理?JUnit用過嗎?
5、Linux了解嗎?說下基本常用的命令?ip的包結構?抓過包嗎?;https?常用的狀態碼?
6、平衡二叉樹是什麼?HashMap底層?怎麼存儲?get和post區別?
7、怎麼優化查詢?mysql隔離級別?鎖?
8、性能測試怎麼測?指標有哪些?怎麼測自己寫的項目?以登錄為例?
9、交換機和路由器區別?mac表和路由表有什麼欄位?
10、對雲計算、虛擬化容器了解嗎?session和cookie區別?
11、單例模式,工廠模式是什麼?gc垃圾回收的機制是什麼?反射的機制是什麼?
12、手寫一個堆排序、冒泡排序、快速排序等;手寫一個遍歷二叉樹輸出元素
二、面試法寶終極大招來了!掌握了我的這些面試法寶,你就有一半的概率能拿到offer了
1、就算你覺得自己很弱雞,也不要表現在臉上,在面試官面前的你一定是自信的;就算問到你不會的問題,你也要自如地告訴他,不好意思這個我不會,並且相信下一個問題自己一定會。
2、再一次強調,一定要多投一些公司,包括看不上眼的小公司。大量的面試過程會讓你的面試經驗突飛猛進,並且能讓自己進入一種適應面試的狀態,跟高三天天考試一個道理。
3、每次面試遇到不會的問題,一定要記錄下來並且弄清楚。根據某種詭異的天意,上一次面試不會的問題,如果沒弄明白,下一次面試絕對又被問到。
4、代碼能力、計算機網絡、數據結構、作業系統、資料庫等等,這些知識領域,如果沒有深挖某一個領域,那麼就需要每一個都懂一些;如果沒有時間學到每一個領域,那麼就把自己懂的領域深挖一下作為亮點(我就是因為手寫算法代碼的時候特別流暢,幾乎是不假思索,並且非常準確,給面試官留下了深刻的印象)
5、自己做項目的時候,要注意把項目中值得一提的技術點和難點整理一下,面試中一定會問到。如果你能順著話題反過來向面試官提問這些技術點更進一步的深層次問題,效果會特別好
6、等待面試的時候,最好可以多了解一下所面試的公司,特別是公司的業務和產品。如果面試官問到相關問題,你還能對公司提出一些合理性建議的話,你的印象分會提升得很高。
不管你是各方面都了解還是只突出某一方面,只要自己真的懂知識,會技能,那就不愁找不到工作。
不過說實話,面試確實是個玄學問題,有時候莫名其妙就掛了,有時候莫名其妙就過了,也看一部分運氣吧。
簡書:https://www.jianshu.com/p/d51699ad836f
本文為51Testing經授權轉載,轉載文章所包含的文字來源於作者。如因內容或版權等問題,請聯繫51Testing進行刪除