記CVTE第一次面試

前言

首先說明一下博主是一個大三的學(xué)生,專業(yè)計算機(jī)科學(xué)與技術(shù),主學(xué)的方向是Web后臺開發(fā),主語言是Java。前幾天看到CVTE有校園招聘實習(xí)生,就報名參加了,做了CVTE的筆試題,前面的選擇題不難,后面的編程題稍微難一些,而且切換出去調(diào)試,做完之后,本來想著沒報希望了,就沒理了,后來周四晚上短信通知我說過了筆試,讓我周六過去面試。
面試地點是在一個酒店里面,當(dāng)時也是蠻多人的,CVTE招的崗位也很多,嵌入式開發(fā),前端,Android/IOS等都有,排了沒一會隊就到我了。總結(jié)一下面試的題目吧。

問題一:項目

面試官:最近有沒有做過什么項目?
我:最近做過一個關(guān)于充電電車的電樁管理的項目。
面試官:個系統(tǒng)主要是干什么的,有什么功能?
我就跟面試官描述了一些這個系統(tǒng)的大致功能和流程,這里就先省略了。
面試官:假設(shè)有一天,這個電車非常好用,很多人都在使用,數(shù)據(jù)變得很大的時候,你的數(shù)據(jù)庫要怎么設(shè)計?
我:盡量單表查詢,建數(shù)據(jù)庫索引,使用緩存。
面試官:那索引有哪幾種索引?
因為我對數(shù)據(jù)庫這方面比較薄弱,不過自己以前看過一些文章,只能努力回憶,
我:有主鍵索引、普通索引……剩下的想不太起來了。
面試官:那我如何知道一張表是不是有索引,或者說我用什么查詢語句可以知道我的數(shù)據(jù)庫表中是否有索引?
我:

這里比較尷尬,因為我對于數(shù)據(jù)庫建立索引,優(yōu)化這方面了解的并不是很多,平時用數(shù)據(jù)庫只用考慮了增刪查改,并沒有考慮到優(yōu)化問題。
后面自己惡補(bǔ)了索引的知識,我平時MySQL用的比較多,就以MySQL為例:

  • MySQL的索引有普通索引,唯一索引,全文索引,單列索引,多列索引,組合索引。
  • 索引算法有b-tree,hash。
  • 創(chuàng)建索引可以建表時創(chuàng)建還有通過修改表的方式增加索引。
  • 使用explain語句可以查詢查詢記錄和是否使用到索引
  • 盡量單表查詢可以使用一些反范式,也就是增加一些冗余字段,減少多表查詢
  • 緩存的話要熟悉Redis和Memcached

問題二:語言

面試官:你的主學(xué)語言是什么?
我:Java。
面試官:在Java中有哪些異常?
我:異常分可檢查的異常和非檢查的異常,可檢查的異常有IO異常,非檢查的異常有空指針異常,數(shù)組越界異常……等
面試官:那我們平時怎么防止空指針異常?
我:使用if條件判斷該對象是否為空?
面試官:好的,這個是可以的,在Java8中有一種更優(yōu)雅的實現(xiàn)方式,你有了解過嗎?
我:
面試官:java8中optional實現(xiàn)了這個功能。
面試官:了解過Java中的集合接口嗎?
我:Collection接口,List,Set,Map接口
面試官:ArrayList和LinkedList有什么區(qū)別
我:ArrayList的是用基于數(shù)組的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的,LinkedList是基于鏈表實現(xiàn)的
面試官:這兩個的add()方法有什么區(qū)別?
我:ArrayList的add方法,將對象插入到數(shù)組當(dāng)中,并且將數(shù)組當(dāng)前位置的索引+1,LinkedList的add方法將上一個結(jié)點的指針指向要加入的對象。
面試官:了解過序列化和反序列化嗎?Java中是怎么實現(xiàn)的
我:通過實現(xiàn)Serializable接口
面試官:拿出一張紙,寫了一個類A,里面有一些屬性,int a=1;String b = “123”
讓我寫出將這個類序列化到文件的代碼。
我:回憶了一下,用了FileInputStream和ObjectOutStream,寫了出來。
面試官:如果我將這個對象序列化到了硬盤,現(xiàn)在我將這個類增加了一個屬性,然后再將這個對象反序列出來,會發(fā)生什么情況?
我:會報錯。
面試官:如果我刪除這個屬性呢?
我:也會。
面試官:如果我在這個類里面,對serialVersionUID進(jìn)行了初始化呢,還會報錯嗎?
我:不會。
面試官:為什么?

  • 我后面也將Java8的新特性重新學(xué)習(xí)了一遍,包括lambda表達(dá)式,函數(shù)式接口,方法引用,更好的類型推斷,stream,base64編碼,javascript引擎,更好的時間格式,jvm移除永久區(qū)增加metaspace等。Java9頁快出了,也要去學(xué)習(xí)一下。
  • 還有就是集合類中的各種數(shù)據(jù)結(jié)構(gòu)都要過一遍,最好全部源碼都看一遍,包括List,Set,Map接口下的幾個實現(xiàn)類比如ArrrayList,HashSet,HashMap,重點是HashMap,HashMap的實現(xiàn)原理,這里面試官可能會問到是否是線程安全的,如果不是,有什么解決方法,又可以引申到其他方面,比如CopyOnWriteArrayList,ConcurrentHashMap,又可以深入問下去了。
  • 關(guān)于序列化這一方面,的確自己當(dāng)時沒有復(fù)習(xí)好,現(xiàn)在很多項目都是分布式的,分布式的話就會有RPC,也就要求對象在網(wǎng)絡(luò)中傳輸,所以序列化也是很重要的一部分,serialVersionUID是用來保證序列化版本的序號,如果不指定,就會隨機(jī)生成一個序列號,改動類的任意一個地方,都會改變這個序號,將對象重新反序列化回來后就會報錯。這次面試也只問了JDK自帶的序列化,實際上還有其他序列化協(xié)議,比如xml,json也是一種序列化的方式,還有protobuff和protostuff。

3. 問題三:網(wǎng)絡(luò)協(xié)議

面試官:說下TCP和UDP的區(qū)別
我:TCP面向連接,UDP無連接,TCP提供可靠的連接,UDP是盡最大努力交付
面試官:說下TCP建立連接三次握手過程
我:
面試官:斷開連接時的四次握手,為什么需要四次而不是三次?
我:
面試官:兩個不同局域網(wǎng)內(nèi)的主機(jī)要通訊需要使用到什么協(xié)議
我:NAT協(xié)議
面試官:如果一個局域網(wǎng)內(nèi)的主機(jī)要向另一個局域網(wǎng)內(nèi)的主機(jī)發(fā)送消息,傳輸?shù)膱笪氖窃趺礃拥模?br> 我:
面試官:HTTP協(xié)議有哪些狀態(tài)碼?
我:200 302 404 500
面試官:302代表什么意思
我:重定向
面試官:瀏覽器是怎么處理重定向的,客戶端訪問服務(wù)器,服務(wù)器通過response響應(yīng),重定向的url放在response的什么地方?
我:
實際上,如果做web開發(fā)的話,對計算機(jī)網(wǎng)絡(luò)也要非常的熟悉,OSI 7層協(xié)議,TCP 5層協(xié)議,TCP/UDP的區(qū)別,TCP如何實現(xiàn)可靠傳輸,三次握手四次揮手,擁塞機(jī)制。HTTP的各種頭,狀態(tài)碼,HTTPS和HTTP2.0都要去了解。
302重定向的rul是放在Header的Location屬性中

4. 問題四:其他

面試官:除了Java,你有了解過其他技術(shù)嗎?
我:學(xué)過一些JavaScript
面試官:是前端還是node.js?
我:前端
面試官:js如何過濾一些敏感字符
我:正則表達(dá)式。
面試官:原生JS發(fā)送ajax的四個步驟有哪些?
我:
面試官:了解什么是XSS漏洞嗎?
我:
面試官:如何防止表單重復(fù)提交
我:表單提交后將提交按鈕disable掉
提交表單后重定向到另一個頁面
服務(wù)器端使用token技術(shù)
做后端開發(fā)的對于前端的技術(shù),了解就好了,會前端加分項,不會也不扣分,一般大公司的分工都是比較明確的,每個崗位都有自己負(fù)責(zé)的工作,如果一家公司讓你前后端通吃,那可能是外包公司,分工不明確,可能什么都要你來的那種。這個看個人吧,不過對于后端的話,可以學(xué)一下現(xiàn)在前端熱門的三個框架Angular/React/Vue中的一個。

5.總結(jié):

首先面試官第一個問的就是你有沒有做過什么項目,說明項目是很重要的,出去找工作一定要有項目經(jīng)驗。然后面試官問的問題都是有一些規(guī)律的,從你的回答中去引申,比如一開始的項目,項目中遇到了什么,如果使用這個項目的人變得很多了,需要怎么設(shè)計表。然后再根據(jù)你的回答繼續(xù)深入問你,所以,如果對某些方面一直半解,就不要胡亂說,直接說這個方面我還暫時還沒有了解。我們知道面試官會一層一層地深入追問,那么我們也可以引導(dǎo)面試官往往我們擅長的地方去詢問,回答的時候盡量答得周全一些,可以突出一些你知道別人不知道的點,這樣可以給自己加分。

整個面試過程中,沒有問到任何框架的問題,其實想想也可以明白,框架這個東西,會用其實很簡答,你學(xué)個幾天,照著文檔寫demo,很容易就學(xué)會了的,所以一些大的公司往往更加注重基礎(chǔ)。除了自己所學(xué)的主要語言方面,還可以掌握一些其他的技能,也是給自己加分的項。還有計算機(jī)網(wǎng)絡(luò),網(wǎng)絡(luò)層,傳輸層,應(yīng)用層的熟悉一定要非常的熟悉,web開發(fā)肯定要對這些協(xié)議掌握的非常透徹,TCP/UDP、Http。現(xiàn)在語言有很多種,不單單只是Java,Python、Node.js、Ruby這些都可以用來開發(fā)Web,只不過每個語言有自己的優(yōu)點和特色。

最后在當(dāng)天晚上得出了結(jié)果,也在自己的意料之中,自己的回答的確也是挺差的。這次面試也讓我學(xué)到了很多東西,感謝這位面試官。機(jī)會總是留給有準(zhǔn)備的人的,Java基礎(chǔ)也還需要再進(jìn)一步鞏,重點關(guān)注IO/NIO,線程,并發(fā)包,集合,Java8新特性,計算機(jī)網(wǎng)絡(luò)相關(guān)知識。對學(xué)過的知識要進(jìn)行分類整理,形成自己的知識體系,這樣你的邏輯才會清晰。路還長,坑還很多,剩下的時間好好把握,努力學(xué)習(xí),充實自己!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,963評論 6 542
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,348評論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,083評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,706評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,442評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,802評論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,795評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,983評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,542評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,287評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,486評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,030評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,710評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,116評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,412評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,224評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,462評論 2 378

推薦閱讀更多精彩內(nèi)容

  • (一)Java部分 1、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,132評論 0 62
  • 從三月份找實習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時芥藍(lán)閱讀 42,330評論 11 349
  • 今天,我和媽媽、阿姨、表妹、兩個表弟和昌華叔叔去水上樂園玩 我們的第一站是山洪海嘯區(qū)。有很多人在那玩耍、沖浪,我們...
    范詩琪閱讀 898評論 0 2
  • 我叫董小爍,現(xiàn)在11周歲,其實我覺得應(yīng)該叫董小強(qiáng),哈哈 我更像一只打不死的小強(qiáng)!我堅強(qiáng)所以我驕傲!一年前我確診得S...
    浪漫_大草原閱讀 316評論 5 3
  • 某篇禱文說:上帝若想賜恩于祂的某個仆人,就會將他心底的無益之言徹底抹去。 多久沒有歌唱了? 你喉嚨暗啞 聲...
    鄭小紅閱讀 243評論 0 0