程序員入門:Java中String常見面試題,一道題拉開差距

編程語言 Java 程序員 JavaScript 程序員從入門到放棄 2017-04-01

Java中String是筆試面試的必考題,不管是做過多少年的人,String都能拉開層次。之前寫過一些String的常見面試題和“標準答案”,結果被一個網友問有啥用,有啥用,這個問題被問的太多了,不能不回答了。所以今天列舉一些常見的String面試題,解釋下有什麼用,面試官的套路是啥,不附帶標準答案。請保持清醒的頭腦、抱著懷疑的態度學習。

程序員入門:Java中String常見面試題,一道題拉開差距

後退

  1. 比較兩個字符串使用 == 還是equals()

    很基礎的題,一般面試的時候我們也不會問。唯一一次,一個有8年工作經驗的人用==比較字符串,我以為他是手誤寫成了JavaScript語法就專門問了JavaScript,沒想到他沒學過JavaScript。項目中不允許這樣。

  2. String常用的方法有哪些

    面試官真的不是想讓你把String的API過一遍,不過是想了解下熟練程度,順便打開話匣子罷了。一般人都能回答出10多個,面試官可能基於你回答的某個方法繼續深問,比如trim()能trim哪些字符、正則表達式等等。因為這個問題,我們曾經淘汰過幾個面試者:A)工作了5年不知道matches(),說正則太難了項目中根本沒啥用;B)工作了2年,用for循環刪除某個指定字符;C)輸出當前String還要toString()的入門者。

  3. switch語句中可以使用String嗎

    JDK7以後是可以的。問這個問題有卵用,項目中又不會用到!工作了三五年不知道JDK7的這個特性,這樣的人已經老了。

  4. String和byte[]之間如何相互轉換

    面試官更喜歡那個getBytes(Charset charset)指定編碼的人。

  5. trim能trim掉哪些字符

    考查對習以為常的知識瞭解程度。

  6. 實現單詞分詞,字符串用空白字符分割開

    考查split()和正則表達式。知道正則的用正則實現,不知道的按空格分隔也是可以的,只是差距就能看出來了。

  7. 什麼是String的不可變性,如何實現的,如何理解不可變性

    這個問題相對開放也相對難一些,考查研究的興趣吧。

面試的過程中以下幾種情況都真實遇見過,就是這麼點背,這樣的事都能碰到,基本上這些人都被淘汰了。

  1. 低級錯誤:用 == 判斷字符串相等。

  2. 習慣性認為xx有卵用:真的遇見過認為正則表達式有卵用的人,就你們這些面試官喜歡問這些無聊的問題。

  3. 項目中用不到就不去學:不知道String的replace()什麼意思,因為項目中從來沒用過,說話真實誠。

  4. 停滯不前:Java7、Java8的語法一點不瞭解,美其名曰技術太新在項目中不可能用到。2011年Oracle發佈Java7。

  5. 淺嘗輒止:學學基本用法,夠用就行了,用到的時候再查API,遇到問題再百度。

程序員入門:Java中String常見面試題,一道題拉開差距

生活總是讓我們遍體鱗傷,但到後來,那些受傷的地方一定會變成我們最強壯的地方。——海明威 《永別了武器》

祝好。

相關推薦

推薦中...