2017.09.18綠盟科技面試

一面:

1.自我介紹:

----學校,本科生,求職崗位,城市,籍貫

----用過的技術、寫過的項目、具體到個人理解和實現、個人對于相關技術的心得

2.針對項目的問題

--寫過除了java之外的項目嘛:回答js寫過小游戲算嗎 ?(這個問題二面的時候又問了一遍)

--我看你做的項目也有前端的,你是對前端有比較多的了解還是只是簡單的用了

--java面向對象思想和javascript面向對象的區別

-----回來后查了這個問題。發現我明明就知道而且會這個問題。但是當時根本沒反應過過來應該這么回答。這種情況,說不熟悉js,不好,應該回想一下平常自己用js的代碼,能想出來多少說多少。如果當時想好了應該是這樣的:

1.js是基于對象的,但是很少設計對象,我自己起碼沒用過,都是用的js內置的對象。js最主要的就是設計實現函數。而java,無對象不java,做什么都得依賴對象,寫個最簡單的helloworld都得設計類。

2.在HTML文檔中,兩種編程語言的標識不同,javascript使用來標識,而Java使用Applet來標識。

3.javascript與Java在瀏覽器中所執行的方式不一樣。javascript是一種解釋性編程語言,其源代碼在發往客戶端執行之前不需經過編譯,而是將文本格式的字符代碼發送給客戶,即javascript語句本身隨Web頁面一起下載下來,由瀏覽器解釋執行。而Java的源代碼在傳遞到客戶端執行之前,必須經過編譯,因而客戶端上必須具有相應平臺上的仿真器或解釋器,它可以通過編譯器或解釋器實現獨立于某個特定的平臺編譯代碼。

4.javascript與Java所采取的變量是不一樣的。javascript中的變量聲明采用弱類型,即變量在使用前不需作聲明,而是解釋器在運行時檢查其數據類型。Java采用強類型變量檢查,即所有變量在編譯之前必須作聲明。

-----java面向對象思想的個人理解和體現

-------------這個問題因為上一個問題javascript的問題沒了解,然后降低難度問的,但是我這時候已經非常緊張了,連java面向對象的三大特點都沒說好,我自己說了一次封裝繼承多態,然后又說誒我怎么只想起來繼承和多態,還有一個是什么來著。這時候應該整理思路。

就針對繼承多態來說,但是我這時候為了盡快的說出點東西,就選擇了最近在了解的mybatis來說,選了其中的java動態代理的運用。但是這部分其實沒有完全吃透,說得不是特別流利,給人一種不好的感覺。這時候的更好的處理應該是 ?以自己最熟悉的項目為根基,就自己項目哪里用了,怎么用的,說清楚就好。然后開源項目源碼里面的東西,可以作為一個拓展來展開說,但是視自己掌握程度和面試官態度來決定拓展程度。如果面試官表現出想往細一點聽,可以說,否則稍微拓展一下就夠了。

--項目中涉及安全的問題(我問具體哪方面后,提示sql注入)

我回答在每次自動生成sql語句后都要經過一個轉義函數過濾,把非法字符轉義了

----其實我也做了對跨域偽造請求攻擊進行了處理,當時一下子沒反應過來。

就說一下什么是CSRF攻擊和自己用隨機token防御了就可以了。

----項目開發中采用的版本控制工具

svn git了解不夠,應該針對git深入了解,搭建一個個人博客

-----有沒有線上能看的項目

沒有。。。應該傳上git去的,展現出code ?manage&review習慣


二面:

由于web崗來的人比較少,估計公司想一天面完,一面出來等了十分鐘后直接帶我去了一個應該是區域老大的人的辦公司面試。

一進去之后老大表現的非常友好,而且胖胖的一看就是個大老板而且人看起來很好,我一下子就不緊張了。他說這兩天進來面的都是女生,終于來個男生了,然后看了簡歷說這幾天來得都是碩士,終于看見個本科生了,感覺運氣還是比較好的。

一開始讓介紹自己,說得跟一面的時候差不多。

然后問項目來源,我說有培訓項目,有自己想寫的,有老師的項目,其實應該盡量都說是自己想做的東西,展現出自己的想法。

有沒有較深的調試bug經歷,一些追的比較深的bug:

一時想不起來具體的問題,但是回答出處理這一類bug的經驗:要從頭到問由淺入深的一步步調試,確保前面的沒有錯再去鉆牛角尖。當鉆牛角尖鉆久了還是鉆不透,那很可能找bug的方向就已經錯誤了,自己已經形成了思維定勢,很難找出bug來,這時候可以找身邊的人,不管是老師還是同學都可以,讓他們幫忙看一下,他們反而會更容易看出錯誤在哪里,因為他們沒有思維定勢,局外者清。相應的,別人有類似問題的時候自己也可以幫忙看一下,也會學到心得東西。

只做過java的項目嘛?其實大一做得C++桌面應用程序也可以說,畢竟也是一個大項目,雖然很不完善,但是還是寫了很多代碼學到很多東西的。盡可能的說,不管大小,談談自己的收獲。也可以表現出自己的學習能力。

java是自學的嘛?看過java的什么書?

學校開過一門基礎的課,但是講得不深入。更多的都是后來自己學的,主要是在項目中邊寫邊學。

平常的學習渠道:

github ?csdn 各種技術博客 直接買書

其實這時候應該回答上 ? 實踐 ?通過寫來學,通過java編譯器來學,編譯器就是最好的老師,在實踐中發現問題,再去搜索解決

個人興趣愛好:

還是說喜歡看技術博客

生活上的話喜歡運動 ?足球 ?籃球

其實應該說喜歡在leetcode ?等網站上刷編程題,很享受找出不同的更優的解答方法的過程。

自我評價:

進取

其實應該說很有想法,總能在同樣的問題想到不同的辦法,有自己獨立思考的能力。比如說:刷編程題,搜出來的解法跟自己的解法的比較。

學東西喜歡總結,總結出心得。

接受、學習新的東西:學的快,怎么學的,用+總結+看別人經驗+用+理解+自己實現+熬夜

努力。我不怕辛苦。年輕人不努力能干嘛呢,有活力。

代碼潔癖、強迫癥:比如說項目中要求嚴格測試

喜歡分享想法,通過分享跟大家搭建更好的關系,也能通過分享互相學習。

比如說,主動分享自己對于面試的心得,經驗,分享資料,來共同學習,共同進步。


總結

這次面試得出得經驗:

需要深入了解一些知識:

數據庫、js、git等

在不太熟悉問題、緊張的時候,盡量回想自己寫的時候用的時候得情景,當場總結,大膽說,能說多少是多少,說這就是我再當前情境下能想起來得個人理解。

面對面試官的問題,應該盡量在自己最熟悉的項目中找到例子展開細說,揚長避短。

表現出喜歡編程,編程有趣。

面試官最關注的東西歸根到底還是學習能力、熱情跟意識。

多投,多面,多失敗,多碰壁。

就算是跟技術無關的問題也可以往技術上靠。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容