一場讓我持續懵比的面試
今天面試回來,已經是10點。突然想去網吧寫這一篇面試總結。今天面了3家,感覺還不錯。同時也感謝掘金Java交流群、Android開發就業交流群、圖靈Java技術交流群里面的大佬對我的鼓勵。
第一家 XX科技
今天一大早就起來了,去洪山廣場去面試。面試官拿著我的簡歷匆匆看了幾眼,問我能不能上手做項目。于是乎,他指著蘋果手機上類似一元云購的軟件,問我能不能加個第三方登錄和注冊的功能。我說,給我時間看一下官方文檔,應該是可以的。然后他把我帶到了一個辦公室,辦公室有一張寬敞的桌子,上面擺著4臺電腦,窗外的風景很是美麗。
他給我介紹團隊,一共有3個人,一個是前端,另一個是美工,還有一個是運營。他先讓我看一下項目的代碼,看我是否能勝任。于是,我花了大概10分鐘粗率的看了項目源碼,大致的技術框架是SpringMVC,Spring,MyBatis,JPA,Mapper,PageHelper,Shiro,WebSocket等等。項目構架是用的Maven,部署用的服務器是阿里云。說實話,項目還是挺大的。對于實習生的我,在沒有人跟我交接的情況下,理清這個項目的業務邏輯還是很吃力,但這也是時間問題。還有一些技術框架我也沒有用過,但是我還是有信心能勝任。
對了,美工妹子長的還是不錯的。可是我的女朋友比她還要漂亮。在觀看源碼的時候,我聞到了一股很嚴重的腳臭味。不知道是美工的腳還是前端的腳臭,簡直熏死我了。
在這里說一下,面試官很年輕,是個小鮮肉,好像不懂技術,只在乎你能不能動手寫項目。后來我叫面試官出來,想和他聊一下。我說了我的困惑,然后我拒絕了他。
那個不懂技術的面試官,給我開的薪資是4k,轉正5K + 項目提成。第一,我感覺薪資有點低了。 第二,團隊沒有Java開發人員,看源碼的時候,發現最早創建日期是2016初,看來項目有點歷史了,我也不知道源碼從哪來的。 第三,辦公室有腳臭味。 第四,我希望團隊里面有幾個Java開發人員,能一起討論技術,共同成長。 第五,我感覺這是一個黑外包,做的一元云購其實是游走在灰色地帶了。百度一元云購可以搜索出來很多家破人亡的新聞。第六,我在觀看源碼的時候,發現有一個命名為Robot的包,里面的代碼主要的邏輯是隨機生成一定數量的機器人、機器人競拍商品、機器人中獎該商品。第七,我感覺我技術還是很菜,還需要學習,目前還不能勝任獨立開發。
第二家 XX科技
這家XX科技好像是去年成立的公司。公司整體裝潢還是很不錯,但是墻面有點開裂,甲醛味很重。公司里沒有幾個員工,留的空位子還是很多,看來很是缺人。
和我一起面試的有4個小伙伴,他們陸陸續續被HR叫出來面試了。和小伙伴的談話中,了解到實習2.5K,轉正3.5K,不包吃不包住,日常的任務是寫靜態頁面,純HTML那種。
我一直想不明白,為什么去面試的時候HR總是讓你填寫無關緊要的信息表。比如家屬名字電話工作,身份證號等。
回歸主題,當HR把我叫出來面試時,HR說,我看到你的自我介紹條理很清晰,不錯。接著,HR就說公司的業務方向,噼里啪啦講了好幾句。然后我就開門見山的說,實習工資最低4K,轉正工資最低6K。HR聽了我的要求后,一言不發,默默的記了下筆記。離開的最后,我跟幾位HR說了幾句謝謝,然后開心的走出了大門。
于是乎,第二次面試就這樣結束了。
第三家 XXXX電子股份有限公司
首先說筆試吧,筆試卷子上面寫的是Java中高級題目,但是我做起來發現基本都是牛客網的原題。做起來,也沒有什么壓力。編程題做的不是特別好,答題的區域太小了,容不下我修修改改的代碼。
還有就是Java核心庫中一些方法名,參數順序記得不是很清楚,總體來說編程題還是很基礎的。
另外,我也希望這家公司能好好出筆試題,不要拿牛客網的原題敷衍了事。
接著說面試吧,感覺面試官準備的很充分,問的知識點很細很細,把我問懵逼了。(這里也呼應了主題,首尾呼應,升華主題)面試下來,大大小小的問題有幾十個把。有些問題,我回答的意猶未盡,但是面試官卻暗示我停下來。讓我感覺有點不痛快啊!
下面就是面試官問我的一些問題
- Java語言的特性。
- Java語言的魯棒性、和C++的區別。
- 說出基本數據類型,封裝類型。
- 基本數據類型和封裝類型的區別。
- int、byte,short占幾個字節,取值范圍是多少?
- 關鍵字Volatile的作用。
- final,finalize,finally 的作用和區別。
- 你所知道的單例模式,說一說優缺點。
- 實現多線程的方式,以及優缺點。
- 說一說線程中的狀態。
- sleep()和wait()的作用和區別。
- 線程同步的方式。
- 說一說ThreadLocal。
- 說一說你知道的Java中數據結構有哪些?以及它們繼承什么,之間的關系是什么。
- LinkedList是什么, ArrayList是什么,它們使用場景以及區別,它們的底層實現是什么。
- HashMap 和 Hashtable的區別。
- 講一下AOP。
- 什么是IOC,DI?
- 動態代理的源碼。
- 講一下什么是Spring,以及實現的原理,源碼。
- 講一下什么是SpringMVC,以及實現的原理,源碼。
- 講一下SpringMVC處理請求流程。
- JDK代理和CGLIB代理的區別。
- 講一下MVC,MVP,MVVM模式
- MyBatis調用存儲過程,返回什么?
- 在一個類里面,如果一個方法沒有加任何訪問修飾符,它是什么?它的作用域?
- 講一下堆區和棧區?
- 講一下JVM中年輕代、年老代、方法代。說一說分別存放著什么?
- 有沒有使用一些工具檢測JVM中內存的分配。
- 講一下垃圾回收機制。
- jQuery有哪些選擇器。
- 說一說單鏈表的實現方式。
- 順序存儲結構和隨機存儲結構。
- SpringBoot是什么? 它和SpringMVC的區別是什么? 它有什么優點?
- 你做了什么項目,聊一下你最熟悉的項目。
- 你在以前公司干了什么,為什么要辭職?
- Http狀態碼
我只記得這些問題了。這些面試問題,我基本也回答上來了(其中不乏瞎扯),知識點問的很全面。這些筆試問題我都有所總結,回答上來自然水到渠成。我回答這些問題,都是盡我可能的去回答詳細,表達清楚。因為我想在每一次面試中,鍛煉自己的表達能力,同時也溫故一下基礎知識,查漏補缺。說了這么多,其實我在吹逼。
手寫代碼有點蛋疼,但是題目還是很基礎的。
編程題目
- 基于泛型的Map實現10個英文單詞的漢語翻譯,即通過單詞得到它的中文含義。考察泛型和Map的用法
- 字符串的一些處理。主要考察equals(),StringBuffer,replace()的用法。
- java中怎么計算兩個日期之間的天數。主要考察getTime(),SimpleDateFormat,parse()的用法。
尾言
雖然我暫時找不到合適的工作,但這并不代表我有多差勁,這并不會降低我選擇企業的標準。因為煙火和我,都是越黑越燦爛。向群里面的大佬看齊。