值得收藏的手寫程式碼面試題及思路解析

陝西優就業發表於2019-10-30

  求職程式設計師難不難,其實是很難的,因為大家都知道作為技術人員你的水平怎麼樣,測試一下也就出來了。而且團隊也是需要技術好的人一起並肩作戰,並不會找一個什麼都不會的小編,那提升自己的技術是很重要的。所以今天 陝西優就業小編給大家分享一篇程式碼面試題,希望對正在求職的你有所幫助。

       找到僅出現一次的數字

  陣列中只有一個數字出現過一次,其餘均出現過兩次;找出出現過一次的數字解題思路:需要藉助“兩個相同的數進行`異或`運算結果為0”、“任何數和0進行`異或`運算都等於其自身”、“異或 運算滿足交換律”;所有的數字進行異或運算的結果就是僅出現過一次的數字

  找到僅出現過兩次的數字

  陣列中只有兩個數字出現過一次,其餘均出現過兩次;找出這兩個出現過一次的數字解題思路:首先所有的數進行異或運算,運算結果轉為二進位制,找到為1的某一位(透過移位然後跟1進行與運算得到),這位必然是那兩個單獨出現數字進行異或的結果。將這一位為1的分為一組,為0的分為另一組;那麼這兩組必然每組包含一個只出現一次的數字,然後藉助上題思路即可。

  判斷單連結串列是否有環

  解題思路:雙指標解決,設定兩個指標,一個快指標,一個慢指標;每一時刻快指標移動臉部,慢指標移動一步,然後進行判斷 如果快指標移動到連結串列最後一個元素,則說明沒有環;如果快指標和慢指標指向相同元素,則說明有環。

  注意空指標問題

  返回一個有環單連結串列的入環節點

  解題思路:接上題,第一次相遇之後;其中一個指標回到起點;然後兩個指標再同時開始移動並且不再區分快慢指標,每次都移動一步,再次相遇的位置即入環位置。

  �簡述如何處理表單提交的中文

  處理表單提交的中文,分為兩種情況,—是post方式提交表單、—是get方式提交表單。

  1.處理post方式提交表單時的中文,步驟如下:

  確保表單所在的頁面按照指定的字符集開啟,在HTML中設定如下:

  另外,在HTML中,將表單form的提交方式設定為POST。

  在伺服器端按照上述設定的編碼格式進行解碼,程式碼如下:

  request.setCharacterEncoding("UTF-8");

  該行程式碼要在第一次使用raquest的時候進行設定。

  2.處理GET方式提交表單時的中文,步驟如下:

  使用meta確保表單所在頁面按指定字符集開啟,在HTML中設定如下:

  另外,在HTML中,將表單form的提交方式設定為GET。

  將從表單中獲取的資訊使用上述設定的字符集utf-8進行重新編碼。

  例如:將從表單獲取的username進行重新編碼,程式碼如下:

  String username - request.getParameter("username");

  username = new String(username.getBytes("iso-8859-1"),"utf-8");

  3.簡述GET和POST的區別

  GET和POST的區別如下:

  1.從提交的資料量上來說,get方式會將請求引數及引數值放在請求資源路徑裡面,攜帶的資料大小有限制,不適合提交大量的資料;post方式會將請求引數及引數值放在實體內容裡面,理論上沒有限制,適合大量資料的提交。

  2.從安全上來講,post方式相對安全(困為請求引數及值存放在實體內容裡面,而get方式會將請求引數及值顯示在瀏覽器位址列)。但是要注意,post方式並沒有將資料加密。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902581/viewspace-2661913/,如需轉載,請註明出處,否則將追究法律責任。

相關文章