雙非小渣本,京東軟開實習,同程藝龍軟開准入職。總結一下【介於春招和秋招】之間的求職歷程,目的是想留點東西給學弟學妹,但願學弟學妹們找一個好工做。前端
目錄:若是隻想看某一部分能夠直接去看,跳過一些冗餘的廢話。
java
1 爲何是【介於春招和秋招】
python
2 【求職渠道】mysql
3 面試官喜歡什麼樣的【簡歷】
linux
4 【技術棧】想要在北京找一份中廠校招/大廠實習,須要具有什麼技能
程序員
5 【刷題刷書推薦】提高能力的最快途徑
golang
6 【如何看待培訓機構與外包公司】
web
7 【如何準肯定位】
面試
8 【面經筆經】
ajax
9 【總結】
由於秋招的時候,找了一份實習,就沒考慮秋招的校招崗位,因此就錯過了秋招,找工做的時候特別尷尬,12月 —— 1月,此時秋招以及秋招補招大部分公司已經結束,春招還沒開始,簡歷經過率極低,崗位極少,想要找工做的同窗最好把握秋招(9月開始,10月後基本結束,11月-12月,陸續會有補招,1月不多有公司還在招人)以及春招(3月開始,4月基本結束,且不多有補招)。
【總結】:
【秋招】 神仙打架,各大廠的hc會井噴,競爭很大,同時機遇也很大。
【春招】 算是秋招的補招,hc較秋招會少,一大部分崗位面向的是下一屆的實習生,還有海外學生(海外12月份畢業),我的以爲競爭不比秋招少。
這裏是按難度遞增排名的:
這裏多是面試難度是最低的,通常主要考察的是學校期間的表現和在校成績,不多考手撕算法之類的編程題,可能去學校的互聯網企業,手寫代碼,寫出一個完成的快速排序就已經超過不少人了。(名校名企除外,不少知名企業的專場招聘會難度仍是很大的)
比起走春招/秋招的獨木橋,實習轉正也是一個不錯的選擇,好處就是面試難度會下調(不是絕對,好比字節跳動的實習和正式offer的面試難度是同樣的,因此字節跳動的實習轉正率也很高,聽說能夠達到50%),缺點就是可能最後沒有轉正機會,尤爲是互聯網行業不景氣的如今,須要均衡考慮。(通常大企業的實習待遇都是很不錯的,實習建議必定要去大廠,不要怕,實習的要求通常來講都是比校招低的)
1 去別的學校參加招聘會,好比北京郵電大學,北京交通大學,互聯網的招聘會就比較多,外校學生去也是有面試機會的,有的企業,上午是本校的面試,下午可能就會讓外校的學生面試。
2 網申,在公司的維度上參加春招/秋招。去企業的招聘網站上申請,外地學生通常都會提供視頻面試的機會,不用擔憂太遠,同時通常的公司網申是須要線上筆試的,因此須要提早安排時間,不要錯過筆試。網申的週期可能很長,好比投了簡歷1個月纔會安排,須要耐心等待。
3 內推,必定要把握內推機會,必定要把握內推機會,必定要把握內推機會,特別重要,內推的簡歷可能會免筆試,可能走單獨的流程(好比你內推了一份簡歷,官網投遞了一份,你就有兩份簡歷在跑流程,有double的機會),可能不會留下面試評價(好比你表現很差,可是因爲是hr郵箱中的簡歷直面,可能不會上傳招聘系統,不會留下很差的面試評價,你就多了一次機會),可能有特別的標識(簡歷免初篩,或者簡歷優先處理),這裏爲何說可能而不是必定,由於全部的公司都不同,用的不一樣的招聘系統,有不一樣的業務規則。
這裏推薦幾個:
論壇:牛客網,國內沒有哪一個應屆生求職平臺作的比牛客網好,【牛客玩的早,offer拿的好】
招聘網站:Boss直聘,拉鉤網(有個技巧,好比你想找java,不要只搜索java,多試一下其餘關鍵字,好比後臺,服務器,客戶端等,你會回來感謝個人),實習僧(實習僧上通常都是大企業,並且不只有實習,也有部分校招)。
微信公衆號:Utips校招實習,刺蝟實習校招、伯樂校招,可能會提供校招的諮詢和內推,建議關注起來,同時還有職場小乾貨。
【總結】:多個渠道,多個崗位,多試一試,由於面試其實很大程度上看面試官的,可能同一家公司的不一樣部門,面試難度相差很大,大廠也有混進去的。
這裏簡述,我的推薦【超級簡歷】這個網站,他有簡歷評分,簡歷排版,簡歷優化,簡歷模板,不少不少的功能,十分推薦,用這個作出來的簡歷,比我本身初版簡歷感受上好的太多了(關於這個簡歷的模板我也去專門請教過HR,HR說這個模板比較不錯),很是適合不知道本身的簡歷怎麼寫的同窗,同時若是你的目光是海外的企業,不要簡單的經過軟件翻譯本身的簡歷,而是要找英語專業的同窗幫你進行一些雕琢,由於直接翻譯過來的簡歷可能不符合外國人的閱讀習慣,從而影響本身的簡歷經過率。(關於簡歷,在牛客網上有【完美世界】HR的分享,值得推薦)
想要在北京找一份中型企業/大廠實習,須要具有什麼技能?
對封裝、繼承、多態、面向對象的理解(不要求背定義,可是至少要有一個本身的理解)
接口、抽象類、訪問控制符等。
鎖 Synchronized、Lock的原理、鎖的分類,鎖升級 CAS free-lock。
線程 線程狀態,狀態切換、進程線程區別、線程池、建立線程的方式,一些經常使用方法:wait()、notify()等
一些主要的方法:volatile關鍵字、equals方法,StringBuilder作字符的高效鏈接等。
對反射,泛型有必定的理解,作作Demo。
對Servlet應該有必定的理解(雖然我面試的時候沒被問到,可是對於理解框架自己十分重要) 【總結】: 以上只是說了一小部分,java基礎必定要打牢。而後說一些基本不用看的
JSP:一種View層的渲染技術,如今基本已經淘汰了,可是我熟悉的Velocity、FreeMaker裏面不少的語法和JSP中 的JSTL表達式極爲類似,因此學JSP可讓咱們在學習其餘渲染技術的時候更容易上手,可是因爲JSP的性能問題,先後端 混寫問題,現已經淘汰了。
SSH框架:企業基本都已經用Spring Boot開發,SSH框架已經淘汰了,一是由於過重了,對性能有影響 2 是由於出現過幾回重大的bug,因此目前新項目沒有采用SSH開發的
Swing:UI框架,能夠捨棄
XML 基本已經被json代替,用Java對XML進行渲染和解析的操做實際開發中沒遇到過。
List
Set
Map
併發包(重點了解)
【總結】主要去看標註源碼的,其餘的能夠有時間再看,源碼不必定要逐行去看,能夠找一下高質量的博客,看看裏面的源碼解讀便可,併發包我看別人面經裏不少,因此就去系統的學了一遍,可是不知道我面試的時候爲何沒有問個人。
JVM內存模型的分區,存儲的數據類型,是否會發生內存溢出。
加載機制
雙親委派模型
gc算法、fullGC、MinorGC觸發條件
G1,CMS過程
JVM優化(考的不是不少,主要是分區,類加載,和gc)
四種引用
BIO
字節流:類型、適用場景
字符流:類型、適用場景
NIO
類型、適用場景 三大組件的聯繫、使用 內存狀況 消息
redis:基本類型,持久化策略,飽和策略,查找,使用場景,分佈式鎖,(分片和集羣有時間能夠看看)
Dubbo:工做原理,RPC協議,如何配置
RabbitMQ:工做原理,工做模式,如何配置
【總結】:消息中間件是錦上添花,主要仍是基礎。
存儲引擎 索
事務,MVCC,一致性讀等。
鎖機制。
SQL調優
表設計 (有時間還能夠看看主從複製和讀寫分離)
Tomcat 結構、流程(沒學過,可是據說有考的)
Servlet 生命週期 使用
springMVC 使用 請求流程
spring IOC/AOP 原理 Spring的一些使用細節,好比json怎麼接,如何配置事務等。
mybatis 使用 #、$區別 ,對一和對多
Spring Boot 使用
Spring Cloud 會更好,可是沒遇到過問的
單例模式
工廠模式
觀察者模式
適配器模式
模板模式
原型模式
建造模式
【總結】
瞭解便可,時間充裕能夠作作Demo,設計模式一共23種,知道經常使用的就行。
單例考的比較多,各類單例的寫法和優缺點要掌握,也要準備幾個項目中用到的設計模式,好比咱們的項目就 用到過,建造模式、模板模式、適配器模式。
數組、棧、隊列、堆、圖、樹、集合、散列表、跳躍表。
都要了解,不管是找工做仍是爲了本身的成長。
這裏知乎上樹總結的比較全,就貼一下:
二叉樹
概念、適用場景、時間複雜度、好處壞處
B樹
二者的聯繫、區別、適用場景
瞭解常見的排序算法:
冒泡排序、選擇排序、插入排序(基礎)
歸併排序、快速排序(常考)
桶排序、計數排序、基數排序(瞭解、不要求手寫)
堆排序(很重要,java中有它的實現,即優先級隊列 PriorityQueue)
各類排序的思想 時間、空間複雜度、穩定性如何,能夠手寫
DFS、BFS
回溯法
貪心算法、動態規劃等。
TCP 三次握手、四次揮手、各類狀態、狀態改變 擁塞控制、流量控制、累計應答。
如何解決亂序問題、如何解決丟包問題。
和UDP的區別
IO模型
同步、異步、阻塞、非阻塞概念
模型種類、各自特色、適用場景如何使用
HTTP && HTTPS:過程
DNS
TCP/ip協議
用戶從瀏覽器輸入一個URL,到接收到服務器響應的全過程。
經常使用命令
進程調度算法
用戶態、內核態
進程線程區別
頁的概念
【總結】:我的感受,不必定對,是我本身的複習大綱,但願能夠幫到大家。
提高能力的最快途徑
資源: 【極客時間專欄】:均價80,乾貨不少,這裏推薦一些我買過的
1 《MySQL實戰45講》 mysql的入門專欄,看到20章左右就能對MySQL有一個較爲系統的認識了。
2 《趣談網絡協議》網絡協議的入門專欄,看到26章,能夠對tcp/ip協議有一個較爲深刻的理解
3 《從0開始學大數據》0基礎大數據入門專欄,感受像是科普文,我只看到了16章,寫的仍是很是好的,也是由於這個專欄,因此後來去了同程藝龍,想聽一下李老師的現場課。
4 《Java核心技術36講》不適合入門,可是適合有必定基礎以後再反覆研究
5 《數據結構與算法之美》很是適合算法入門
6 《算法面試通關40講》用leetcode講算法題,很是推薦,主要實現語言是python和java
【看過的書】
1 《深刻理解Java虛擬機》 不是很厚,可是倒是經典中的經典,建議多讀讀
2 《Java多線程核心編程指南》多線程的入門書,很是推薦
3 《程序員代碼面試指南》算法書,大部分是算法題的解法,若是基礎不錯,能夠去讀,可是算法基礎不是很好的話,仍是用專門的算法書比較好,由於題永遠只是輔助。
4 《網絡是怎麼鏈接的》 寫的比較通俗易懂,由點即面的,我的感受比較好理解,可是最開始沒有一個宏觀的網絡概念。若是是爲了面試的話,專欄或者博客可能來的快一些。
5 《圖解TCP/IP》也是,若是是爲了面試的話,專欄或者博客可能來的快一些。不是爲了面試的話,能夠細讀一下,寫的挺有意思的。
6 《圖解設計模式》 感受是同類裏面最好的,比較精簡,同時很全面,每一個設計模式都配有Demo,讀起來也會比較順暢。
7 《Head First 設計模式》 這本書被稱爲設計模式的神書,確實它會引導咱們去一步一步的解決問題,可能這個問題已經被解決了,而後咱們纔會恍然大悟,原來我剛纔使用了設計模式,可是較厚,爲了面試的話,不推薦,時間充裕的話,能夠仔細看看,寫的確實不錯。
8 《算法圖解》用python寫的,算法入門書,比較薄,看起來仍是比較輕鬆的。
9 《深刻理解計算機系統》殿堂級書,建議找個時間刷一遍,但不是找工做的時候,太厚了,只看過幾章。
10 《算法導論》殿堂級書,用不少數學的方法去論證算法的可行性,建議找個時間刷一遍,但不是找工做的時候,緣由同上。
11 《碼出高效 Java開發手冊》建議刷一遍,寫的特別好,涵蓋了不少內容,書很薄。
12 《阿里巴巴 Java開發手冊》也就是阿里規約,規範代碼,建議看一下。
13 《Java編程思想》 有時間能夠看看,可是不適合做爲一本Java入門書,我Java入門的時候是學校的教材和培訓機構的講義,沒啥好書推薦的。慚愧。
【總結】以上就是我求職期間看過的書,不敢對書的內容有什麼評價,有些書很是好,可是不適合求職期間看。
【刷題】 我的的話題刷的很少,leetcode 110道,牛客網70道,去掉重複的題大概150道,算法算入了個門,刷題有不少種策略,龜派和兔派,我是先兔派(想10秒,想不出來就立刻看答案,看最優解)刷了100道左右,而後就高頻的題進行龜派的刷法(儘可能時間、空間複雜度更低,方法更多的去完成)。
培訓機構:我的以爲培訓只是學知識的一種途徑,我培訓過,而後找了第一份實習,並不歧視,可是要注意的是,【不要把培訓機構看成一根救命的稻草】,不要過度的相信培訓機構,要有本身的思考,必定要努力學習技術,技術有了工做天然就有了,靠包裝是走不遠的。
外包公司:有些用人單位會歧視上一家工做單位是外包公司的員工,並且外包工資真不高,跟校招無法比(不是歧視外包,實話實說)。
要注意,若是你面試的時候把面試官百分之百(指的是全部輪面試,1 2 3 輪加起來)題都答出來了,你就要考慮該不應去了,可能你進去了也沒有多大提高。
要求應屆生有產出的公司,讓應屆生上來就幹活的公司也要考慮一下你所能獲得的成長,由於大部分企業的校招生進去以後都是看成後備骨幹來培養的,機會會很是的多,切莫捨本逐末。成長環境是最重要的,而不是每月多個一、2千的薪水。
這個就很少說了,每一個人內心都有本身的定位,投簡歷的時候不要慫,多投,多嘗試大廠,而後雙非渣本的同窗(沒錯,就是我),你本身能夠調侃你本身是渣渣,可是面試的時候或者是準備面試的時候,別看輕本身,你本身都以爲你本身不行,面試官爲何會相信你的能力呢?
學校的經歷
有什麼良好的編程習慣和代碼風格
泛型能夠被繼承嗎?舉個例子
JVM內存模型的理解 用過那些數據結構,
談談你的理解 mysql數據庫多個字段都存在索引時,查詢操做時應注意哪些問題
是否本身寫mapper/dao/pojo?有沒有能夠自動生成的方法
mybatis攔截器的使用
spring mvc中如何使用自定義的註解
mysql事務的底層實現原理
mysql中innodb的索引結構
mysql中鎖的應用
如何自定義數據庫鏈接池 假設自定義的數據庫鏈接池有10個空閒連接,此時共有12個連接請求,剩下2個連接如何處理,若是想實現等待,如何去設計。
是否進行過sql優化,具體說一下如何優化的
經常使用的編譯工具,常用的快捷鍵
voltile和synchronize的區別
CMS和G1
SSM中先後端交互問題,json在其中的做用,它是如何在先後端進行傳遞的?
不一樣項目中可能用到的jar包版本不一樣,在發生版本衝突的時候,如何去解決
如何把本身的jar包上傳至maven
前端會寫嗎
javaScript中的對象,是否有類的概念
ajax能夠設置爲同步嗎
總結:感謝在我實習的時候撈了我一把,也真的學到了很多東西。最感謝的公司。
擅長的語言
項目中主要寫前端仍是後端
項目前端數據如何展現?是先後端分離嗎
用到的框架?
接觸過SpringBoot嗎
講一下GC的理解
項目中如何保證事物
Java8的新特性
Volatile和Lock
項目中用到了哪些設計模式
如何保證分佈式架構項目中的數據一致性
如何實時保證分佈式架構項目中的數據一致性
算法:給一個整數n,表明n個左括號,和n個右括號,判斷合法的排列組合有多少種?
總結:算法寫的通常,當時用的全排,而後用棧來判斷合法字符。面試體驗特別好,可是須要去實習,不能發校招offer,因此很是遺憾,比較推薦。
抖音:
Gc
手寫Web Socket
紅黑樹
手寫跳躍表的插入過程
寫一下TCP滑動窗口的算法
B樹和B+樹
linux的使用
TCP擁塞控制
算法: 每k個一組,反轉鏈表
總結:面試體驗很好,面試官給推薦了2本書,編程能力有待提高,手寫除了WebSocket以外其餘的基本都寫不出來完整的。
火山:
一面: Gc
jvm分區
對排序算法的瞭解
手寫塊排,歸併排序,分析時間複雜度,空間複雜度
證實塊排是穩定的排序算法
arraylist源碼分析
算法: 去除鏈表中的重複項 1 -> 1->2 ->3->3->4 結果 2->4
總結:答得還能夠,而後一直在面試中,醉了。
筆試:比較簡單,有一道題比較深入: 內存1G,須要計算1G的數據排序,哪一種排序方法效率最低,當時選的是冒泡,由於涉及到頻繁的數據交換,其實應該是歸併,由於歸併非原地排序,多佔用的內存空間,會與磁盤進行頻繁的頁交換,形成卡頓。
面試:
實習的感覺
學校的經歷
手寫二分法
手寫圖
手寫圖的廣度優先算法
手寫圖的深度優先算法
總結:深度優先沒寫出來,廣度寫的也不是很流暢,圖方面的知識看的太少了。
面試官:特別喜歡你,可是我可能不會給你過,藍瘦。十分推薦去,真的會把應屆生當成後備骨幹去培養。
一面:
list arraylist linkedlist
二分查找分析
redis 結構
線程同步,異步,互斥 臨界段 線程狀態 線程方法
Gc
Mysql 索引
設計模式
算法:兩數之和
總結:一面比較簡單,面試官還給講了saas,c#和java的區別等。
自我介紹 以前打比賽的經歷
c語言會嗎?
arm指令瞭解嗎?
java反射的應用
用反射來獲取成員變量的時候,遇到成員變量自己是一個對象,該怎麼作。
用過什麼鎖,
瞭解分佈式系統中的鎖嗎,使用場景
arrayList和linkedList的區別和使用場景
重寫equals
操做系統中的頁和索引中的頁同樣嗎
http協議
mysql數據庫中的索引
redis中的分佈式鎖
Spring mvc的處理請求過程
遊覽器緩存
前端數據渲染用的什麼?用到模板引擎了嗎?
redis中的分佈式鎖,如何保證的
框架那哪一種用的多,
簡單說說springboot
單例模式的實現方法,區別,每種的特色
能夠用反射來建立多個單例模式的對象嗎
實習的經歷和項目
爲何選擇同程藝龍,不留在京東
算法: 兩個鏈表,其中只有1個重複的元素,找到這個元素。
總結:offer call了,不出意外應該是會去,第一是這個公司給人感受不錯,新人體系很完整,而且很是喜歡一面的面試官,不出意外應該會分到一個部門,第二是不想折騰了,但願能夠有一段時間沉寂下來,學些東西。
寫這篇面經主要的目的就是爲了給學弟學妹們說一下如何準備春招/秋招,由於來學校的互聯網企業太少了,但願我踩過的坑,學弟學妹們能不要踩,雖然我們學校不是特別出名,可是整體來講也算不錯,加油。
——————————————————————————————————————
另外:以爲有幫助能夠關注博主,按期分享一些leetcode高頻算法,Java源碼解讀,Java基礎知識,軟件破解與推薦,等等。