說下注冊的時候的檢測,多用戶怎么判定是否被注冊
去哪兒網(面試最好的體驗,第一天上午機試,下午就接到通知明天去面試。在一個去哪兒合作的小清新酒店面試的,所有面試官都特別好,遇到答不上來的會給你解答,三面完直接現場發offer,只要在十月三十一號之前把三方寄給他們就行,簡直不要太良心。當時一面完的時候我說我計算機網絡和操作系統方面不是特別好,一面面試官笑著說:沒事,路還長呢,你去等二面吧。待遇呢給的確實偏低,不過還是由衷粉一波去哪兒)
一面:(30來分鐘)
說一個自己比較深的項目 ,redis多消費者一起取的時候如果隊列為空你怎么處理(答了CAS進行嘗試,超過失敗次數之后就進入睡眠,面試官說可以不用這么復雜~~為空時直接進行睡眠就行)
紙上手寫 的大致實現(大概10分鐘的樣子)
數據庫了解嗎?聚集索引和非聚集索引的區別,存儲引擎的區別?主鍵使用不重復的字符串會出現什么問題(插入的時候由于字符串不能像自增長的id一樣連續,所以在磁盤上的位置不同)?
說說吧,然后講了、 1.7、1.8的實現(講的很詳細,面試官覺得數據結構還不錯)
然后問計算機網絡咋樣,我說很一般操作系統咋樣,我說很一般
線程有哪些狀態,怎么進行切換的。
二面:(40來分鐘)
說一個比較深的項目,還是說的異步隊列,問你這為啥要用redis做異步隊列啊,我用線程池直接自己開一個隊列跟這有啥區別。扯了一堆,扯了redis I/O多路復用模型,最后不太滿意~~
然后又手擼了一遍
然后問
最后說你用了這么多redis,叫你設計一個緩存,你該怎么設計,get和set的時間復雜度怎么算的(答了用實現,分析了一下但是也沒怎么說清)
三面:(20來分鐘)
談下人生,當場發了offer
順豐科技(最懵逼的一次面試,在品學樓一個教室面的,感覺極不正規。一個估計三十來歲但是看著可能四十多歲的大叔面的,完全get不到他的點)
一面:
進去跟hr面一樣,談人生(你最喜歡看哪本書,你覺得在華為學到了什么),全程基本沒問技術,吹牛20分鐘說可以走了
招銀網絡科技(招商銀行下面的子公司,以前叫融博,負面新聞較多,今年在成都剛成立分部,由于是銀行,筆試和面試都比較強調sql,面試偏重于數據庫和項目。現場面在軟件園那邊的招商銀行面的,當天直接三面,基本每個人都有三面。面試的感覺只有一個:不愧是銀行,太壕了。在七樓面試,層高居然有5、6米高)
一面(電面15分鐘)
說說對JVM的理解
Java程序初始化順序
線程的創建
mysql主鍵和唯一索引的區別
說說最近的項目
如何實現共享,用redis如何實現
說說微服務,微服務之間如何管理
二面(現場面30多分鐘)
看項目中有前端的,先問了下前端的css的選擇優先級
手寫了一個查詢sql
手寫了一個雙重檢查單例,問是怎么實現單例的
的大致實現過程
項目里重要的地方
說說微服務
如果你不用redis來做隊列,自己寫你需要注意哪些方法
數據庫存儲引擎的區別
數據庫優化會嗎,說說常用的優化
三面(現場面30多分鐘)
面試官看了簡歷覺得項目時間都不長,沒有太多興趣,全程帶笑,叫講項目的興趣點。講redis異步隊列,吹吹原理。說這沒啥用前端面試有現場敲代碼,你這單機redis還不如自己實現一個隊列速度還快些呢,你用Java寫一個類似的redis才厲害(當時有點懵逼,感覺這面試官可能不太懂技術)。然后笑著聽我吹完了一套,最后問我微服務治理知道不,我就扯了點服務注冊和發現的知識。
四面(現場面40多分鐘)
女hr全程含沙射影帶笑的問,別人好像都只面了20來分鐘。。。由于是轉行,問了我轉行原因,學習、生活、教研室那些情況。
OPPO(廣告部的工程師面的,面試官自我介紹時有個非常騷氣的花名,整體問的比較開放,二面聊著聊著就掛了)
筆試題比較簡單
一面(現場面20來分鐘):
面試官首先自我介紹,然后我自我介紹。叫先看成績單,問我最喜歡哪一門課,這門課有什么特點(我嗅到了hr面的氣息)
然后說先看下筆試題吧,你覺得筆試難不(我回答說不難就看到面試官在紙上寫了個簡單,感覺想教育我了),就問了http和https的區別,https加密的過程
是什么啊,為什么用啊?是什么啊?是什么啊?假如我現在要分庫分表,我選哪個框架?(這沒接觸過啊。。)你為啥用Redis啊,Redis有哪些方法,Redis事務,Redis哪些方法有原子性,Redis和Kafka用什么區別啊?
Java虛擬機垃圾回收方面的知識,生存區為什么要有兩個,空間擔保機制是啥
一個32核,64g的linux服務器,硬盤是5TB,怎么統計一個1TB的文件中一個限定中文名和英文名出現的次數(我簡單說了下使用流水線),問大概需要多久時間,估計一下,一分鐘兩分鐘還是十分鐘。(總而言之面試的問題全部都相當的開放,讓你自己說)
二面(現場面20分鐘):
簡單問了下項目,各個知識點都問了一點點。
海康威視(今年擴招特別多,面試相對偏水,面試官感覺技術很不錯,問的問題完全不按套路來)
一面(現場面20分鐘)
面試官特別扯,進來就問后面還有幾個,我們稍微快一點吧。然后看了我的簡歷,就問前端的類選擇器。
然后問 Boot啥概念,有啥優勢。接著問 Data JPA是啥,咋用(面試這么久第一次問我這個)。我解釋了一些JPA是個規范,面試官問你這JPA用的啥版本啊(懵逼,倆月沒用了。。記不住了),然后又問JPA是哪個組織規定的啊(懵逼的說了sun、、。。實際是EJB3.0小組)
看你用了Redis,你這Redis咋用的,用過lua腳本沒有(這個真沒用過)
面試官繼續問:你這Java虛擬機什么掌握的咋樣啊(感覺可以開始表演了),結果我回答還不錯的之后,面試官問:說說一個class文件的具體組成結構啊,要細(懵逼,這部分沒怎么看,就說里面有魔數)。繼續問:虛擬機是起解釋作用嗎,有編譯作用嗎(一堆不是常規套路的問題問的很懵)。
然后我說我模擬實現過 MVC,請讓我表演一哈。面試官看完簡歷之后說,那你就說說用了哪些設計模式(???這怎么表演),回答了下之后又問我一個http的請求的組成結構,然后叫我說http的狀態碼,有多少說多少。(感覺這個面試官就在觀察表情,看著你很會的那種就馬上換話題,完全不按套路出牌。最后毆打完我之后說了句你基礎還可以)
二面(現場面5分鐘)
hr小姐姐直接問想去哪,想要啥待遇
京東(投的成都崗結果北京的面試官面的,一面面試官覺得我還不錯,結果二面面試官在某天晚上深夜11點打電話來說面試一下,說自己還在公司里面。我和他都很意外我投的成都崗,但卻是他們部門面試,估計特別缺人,問我能實習不,我說要做畢設不能實習就涼了。有點可惜,留成都京東還是很不錯的)
一面(50多分鐘)
和區別,有啥好處。的執行流程。一個網頁從輸入網址到顯示經歷什么過程?和的概念。和的區別。異常處理知道不?詳細介紹了一下異常的分類并舉例
Redis有哪些數據結構。支持事務嗎?Redis分布式鎖知道不?Redis能持久化嗎,持久化有哪些方式,有什么特點?斷電會丟失數據嗎?誰更嚴重?
數據庫熟悉不,數據庫引擎有哪些,和有啥區別,索引知道什么,哈希索引和b+樹索引有啥特點,說說b樹和b+樹,畫畫b+樹的結構,b+樹最下面存的是數據嗎?下面的數據有序嗎?
設計模式知道什么?項目中用了什么?回答用了策略模式,簡單說了說。寫個單例吧?寫了個雙重檢查的單例。
數據結構學的咋樣?說說吧,對比說了和,詳細說了,最后引到解決線程安全用.詳細說了.7、1.8的put和size方法的區別和實現。其中問了底層實現知道不,就回答了個,其它不太清楚。然后CAS是啥,解釋一下。
有并發經驗沒有?回答說沒有,但是知道基本知識,看過并發編程的藝術。說說開啟線程的幾種方式吧?說說?說說-原則?知道不,解釋下前端面試有現場敲代碼,什么情況下使用?
寫個二分查找吧,遞歸的
做個智力題:8個球7個一樣重的,有一個偏重,一個天平,如何兩次找出偏重的小球
給了一張紙,寫寫項目中如何保證代碼的魯棒性和可擴展性?
你有哪些offer?然后介紹了下自己的部門.
二面(10來分鐘)
簡單問了下簡歷上的項目,問能不能現在過來實習
總的來說。面到后面才發現了很多套路,但是好的公司已經基本結束了。所以建議提早準備,即使不能實習,也去投幾個公司練一練,每次把面試問題總結一下,發現里面的套路,然后自己準備一套吹點。
=================================================================================================================
總結
關于轉行,以前評論宣稱學了幾個月Java隨便找好工作,在現在的面試難度來看,基本不太可能,軟件也不是想象中那么好找工作,一個崗位要的人多但是競爭的人也特別的多。如果覺得本專業不太適合自己或者自己以后不太想去工廠那些地方上班,轉行請趁早,也不一定非的學計算機,可以選自己方向相近的方向來自學。如果想轉學計算機,也請早點明確自己的方向,然后在這個方向上深耕一下。很多概念性、全局性的知識,在短期內可能自己是無法理解的,需要一段時間、一個過程來理解(個人感覺這是科班和非科班主要的差距),很多基礎性的知識可能會在你以后運用某個知識點時才察覺到原來是這樣。在自學了一段時間后,可以開始接觸數據結構和算法及計算機的一些基礎知識,刷題要趁早,平時多看一些技術博客(CSDN、簡書、博客園),有機會的話盡量找個工作室或者實習,如果實習不太靠譜,建議在校招前夯實自己的基礎。關于校招,找工作運氣和實力是46開的,面試掛了不一定是自己不行,也很有可能是和面試官不太聊的來。并不太過沮喪,面完一個反思總結面好下一個。簡歷上的東西力爭全都會,摸索一套屬于自己的吹點。面試官大部分情況下不會問框架的基本使用,都喜歡問點底層的東西(面試造火箭,工作擰螺絲),所以會點基本的CRUD是沒有太多作用的,建議深挖底層,比如樓主比較擅長吹 MVC、和.7和1.8的源碼,面試的時候引導面試官,在一張紙上給他詳細畫自己的思路。比如項目中經常用的Redis,那最好知道Redis的底層的單線程模型和持久化的方式,再深入一點自己模擬實現一個簡單的Redis可以嗎(LRU算法,再自己想想時間復雜度)。使用,可以自己運用JDBC模擬一下的實現。這些好多都是樓主校招后期才慢慢體會到的(然鵝工作都找完了)。
=================================================================================================================
終于寫完了,排版亂見諒了,祝各位找到心儀的工作,希望自己順利畢業(求善良的導師放過)。