第二次面試(電話面試)
第二次面試(電話面試)
自我介紹一下自己。
我叫任秀興,平時的愛好是寫寫程序,實現個功能讓自己開心一下。溝通能力比較強、自我管理能力比較好,在復雜的事情面前能夠保持一個樂觀的心態,能在較短的時間內處理復雜的問題。善於使用搜索工具解決問題,能夠敏銳的發現問題所在。說一下你做過的項目。
做過一個簡單的項目,servlet+jsp的,是給政府質檢部門做的一個報告管理系統。我擔任裏面的項目負責人,主要做的工作是:與客戶溝通,了解開發方向及客戶想要實現的功能;功能方面,驗證碼登錄、權限劃分、文件的上傳及下載、對報告的模糊查詢、復制報告、分頁處理、報告打印等;以及項目在Windows環境下的部署。
說一下冒泡排序,時間復雜度,最大的交換次數?
冒泡排序是通過相鄰兩個數比較,第一行第一個數與第二個數進行比較,大的或者小的放在前邊或者後邊,然後第二個與第三個數進行比較。。等第一行比較結束時,最大或者最小數也就找到了,然後同樣使用此方法進行第二行的排序直至所有的排序完成。
Servlet的執行過程
前端通過超鏈接或者表單將數據傳遞給相應的servlet,servlet接收到前端傳來的數據進行處理,操縱數據庫等,然後將處理過得結果返還到前端。Servlet將值返回給jsp的形式
獲取session對象-->通過session獲取應用上下文對象-->獲取存儲在應用上下文對象的集合對象-->將封裝信息的javabean存在集合對象中-->將集合對象存儲在應用上下文中-->重定向到jsp頁面了解sql註入嗎?如何防止
SQL註入,就是利用現有應用程序,將(惡意)的SQL命令註入到後臺數據庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。
防止SQL註入:
1.執行sql語句時使用addslashes進行sql語句轉換
2.Sql語句書寫盡量不要省略小引號和單引號
3.過濾掉sql語句中的一些關鍵字:update、insert、delete、select、*
4.提高數據庫表和字段的命名技巧,對一些重要的字段根據程序的特點命名,取不易被猜到的。
5.控制錯誤信息,不要再瀏覽器上輸出錯誤信息,將錯誤信息寫到日誌文件中。
6.永遠不要信任用戶的輸入。對用戶的輸入進行校驗,可以通過正則表達式,或限制長度;對單引號和雙"-"進行轉換或刪除等。
7.永遠不要使用動態拼裝sql,可以使用參數化的sql或者直接使用存儲過程進行數據查詢存取。
8.使用預編譯綁定變量的SQL語句
9.嚴格加密處理用戶機密信息
一個好的程序一定要註意安全性,否則只適合練手。如何防止死鎖?
死鎖產生的條件:兩個進程都在互相等待對方結束才能進行下面的操作,防止就是不讓程序出現這種情況。- 還記得數據結構中的鏈表嗎?
- 你對算法的了解有多少?
你學過json、ajax嗎?
第二次面試(電話面試)