面試官經常會問到這么一個問題。有些人可能有些誤區認為我們工作中碰到的問題都必須是很牛的技術來解決了才能說出來。其實不是的,我們工作中碰到的任何難點都只是在解決辦法上的思想上沒有打通而已。
舉個例子:
我碰到一個這樣的問題。首先需要登錄到一個web界面下載一個客戶端,地址是:http://127.0.0.1:8080/demo。
我需要下載一個客戶端client.jnlp,鏈接是http://127.0.0.1:8080/demo/client.jnlp
client.jnlp中的內容是通過http://127.0.0.1:8080/demo/文件名 的鏈接來下載服務器上所有的文件內容,如client.jnlp、data、applicationClient...
開始網頁是沒有做session控制的,http://127.0.0.1:8080/demo/文件名 就可以下載那個文件。
安全組就讓我控制住。所以我在登陸后加了一個session。可是當我下載client.jnlp后,運行client.jnlp后,里面的東西下載不下來。原來jnlp和我web登錄后session是不共享的。
有兩種解決辦法:
1、讓session共享。這種覺得比較復雜,沒有考慮
2、問題的難點在於點擊運行client.jnlp時,里面的程序第一個下載的文件是client.jnlp,所以請求的路徑是:http://127.0.0.1:8080/demo/client.jnlp、和網頁上下載的鏈接也是一樣。網頁上控制session后,client.jnlp運行是沒有session的。
所以我想了一個辦法,我把client.jnlp中最開始請求的路徑改為http://127.0.0.1:8080/demo/clientSuffix.jnlp,在后台判斷如果請求的鏈接以clientSuffix.jnlp結尾則手動賦值session轉發鏈接到http://127.0.0.1:8080/demo/client.jnlp。問題就解決了。
我服務器中是不存在clientSuffix.jnlp文件的,所以用戶是不會手動敲鏈接下載clientSuffix.jnlp文件,如果敲出來了就和猜出了密碼差不多了。
總結:其實生活中用到很牛逼的技術來解決問題少之又少,都是通過一些別的比較好的途徑來變相的解決。能更好的解決為什么要花時間來用復雜的技術來解決呢。
其實面試官也只是考驗你處理問題的能力,並不是要你說很牛的技術。要理解每個問題的痛點