1. 程式人生 > >最近整理的一些常見的面試題,面試大全,黑馬程式設計師面試寶典題庫---JavaWEE高階篇

最近整理的一些常見的面試題,面試大全,黑馬程式設計師面試寶典題庫---JavaWEE高階篇

一、 Filter 和 Listener(評論留言獲取原件)


可參見:https://www.cnblogs.com/libingbin/p/5985647.html

二、 AJAX


1. 談談你對 ajax 的認識?


Ajax 是一種建立互動式網頁應用的的網頁開發技術; Asynchronous JavaScript and XML”的縮寫。
Ajax 的優勢:
    通過非同步模式,提升了使用者體驗。
    優化了瀏覽器和伺服器之間的傳輸,減少不必要的資料往返,減少了頻寬佔用。
    Ajax 引擎在客戶端執行,承擔了一部分本來由伺服器承擔的工作,從而減少了大使用者量下的伺服器負載。
Ajax 的最大特點:


    可以實現區域性重新整理,在不更新整個頁面的前提下維護資料,提升使用者體驗度。
注意:
    ajax 在 實 際 項 目 開 發 中 使 用 率 非 常 高 ( 牢 固 掌 握 ) , 針 對 ajax 的 詳 細 描 述 :
   https://www.jb51.net/article/93258.htm

2. jsonp 原理


JavaScript 是一種在 Web 開發中經常使用的前端動態指令碼技術。在 JavaScript 中,有一個很重要的安全性限制,被稱為“Same-Origin Policy”(同源策略)。這一策略對於 JavaScript 程式碼能夠訪問的頁面內容做了很重要的限制,即 JavaScript 只能訪問與包含它的文件在同一域下的內容。
JavaScript 這個安全策略在進行多 iframe 或多視窗程式設計、以及 Ajax 程式設計時顯得尤為重要。根據這個策略,在 baidu.com 下的頁面中包含的 JavaScript 程式碼,不能訪問在 google.com 域名下的頁面內容;甚至不同的子域名之間的頁面也不能通過 JavaScript 程式碼互相訪問。對於 Ajax 的影響在於,通過 XMLHttpRequest 實現的Ajax 請求,不能向不同的域提交請求,例如,在 abc.example.com 下的頁面,不能向 def.example.com 提交Ajax 請求,等等。
然而,當進行一些比較深入的前端程式設計的時候,不可避免地需要進行跨域操作,這時候“同源策略”就顯得過於苛刻。 JSONP 跨域 GET 請求是一個常用的解決方案,下面我們來看一下 JSONP 跨域是如何實現的,並且探討下 JSONP 跨域的原理。
jsonp 的最基本的原理是:動態新增一個<script>標籤, 使用 script 標籤的 src 屬性沒有跨域的限制的特點實現跨域。首先在客戶端註冊一個 callback, 然後把 callback 的名字傳給伺服器。此時,伺服器先生成 json 資料。 然後以 javascript 語法的方式,生成一個 function , function 名字就是傳遞上來的引數 jsonp。最後將json 資料直接以入參的方式,放置到 function 中,這樣就生成了一段 js 語法的文件,返回給客戶端。
客戶端瀏覽器,解析 script 標籤,並執行返回的 javascript 文件,此時資料作為引數,傳入到了客戶端預先定義好的 callback 函式裡。
參考資料:

http://www.nowamagic.net/librarys/veda/detail/224

三、 Linux


4. 說一下常用的 Linux 命令


列出檔案列表: ls 【引數 -a -l】
建立目錄和移除目錄: mkdir rmdir
用於顯示檔案後幾行內容: tail
打包: tar -xvf
打包並壓縮: tar -zcvf
查詢字串: grep
顯示當前所在目錄: pwd
建立空檔案: touch
編輯器: vim vi
列出檔案列表: ls 【引數 -a -l】
建立目錄和移除目錄: mkdir rmdir
用於顯示檔案後幾行內容: tail
打包: tar -xvf
打包並壓縮: tar -zcvf
查詢字串: grep
顯示當前所在目錄: pwd
建立空檔案: touch
編輯器: vim vi
 

5. Linux 中如何檢視日誌?


動態列印日誌資訊: tail –f 日誌檔案
參考資料: https://www.cnblogs.com/zdz8207/p/linux-log-tail-cat-tac.html

6. Linux 怎麼關閉程序


通常用 ps 檢視程序 PID ,用 kill 命令終止程序。
ps 命令用於檢視當前正在執行的程序。
grep 是搜尋
例如: ps -ef | grep java
表示檢視所有程序裡 CMD 是 java 的程序資訊。
ps -aux | grep java
-aux 顯示所有狀態
kill 命令用於終止程序。
例如: kill -9 [PID]
-9 表示強迫程序立即停止。


四、 常見的前端框架有哪些


1. EasyUI(2017-11-23-lyq)


EasyUI 是一種基於 jQuery 的使用者介面外掛集合。 easyui 為建立現代化,互動, JavaScript 應用程式,提供
必要的功能。使用 easyui 你不需要寫很多程式碼,你只需要通過編寫一些簡單 HTML 標記,就可以定義使用者介面。
優勢:開源免費,頁面也還說的過去。


2. MiniUI(2017-11-23-lyq)


基於 jquery 的框架,開發的介面功能都很豐富。 jQuery MiniUI - 快速開發 WebUI。它能縮短開發時間,減少
程式碼量,使開發者更專注於業務和服務端,輕鬆實現介面開發,帶來絕佳的使用者體驗。使用 MiniUI,開發者可以快速
建立 Ajax 無重新整理、 B/S 快速錄入資料、 CRUD、 Master-Detail、選單工具欄、彈出面板、佈局導航、資料驗證、
分頁表格、樹、樹形表格等典型 WEB 應用系統介面。 缺點:收費,沒有原始碼,基於這個開發如果想對功能做擴充套件就
需要找他們的團隊進行升級!


3. jQueryUI(2017-11-23-lyq)


jQuery UI 是一套 jQuery 的頁面 UI 外掛,包含很多種常用的頁面空間,例如 Tabs(如本站首頁右
上角部分) 、拉簾效果(本站首頁左上角)、對話方塊、拖放效果、日期選擇、顏色選擇、資料排序、窗體大小調整等
等非常多的內容。


4. Vue.js(2017-11-23-lyq)


參考原文:https://cn.vuejs.org/v2/guide/

5. AngularJS (2017-11-23-lyq)


參考原文: http://www.angularjs.net.cn/api/