1. 程式人生 > >中科軟2016筆試題總結(待編輯)

中科軟2016筆試題總結(待編輯)

一、JAVA

一、執行時異常和一般異常的區別?

執行時異常:
1、是虛擬機器執行過程中遇到的“系統級”問題
2、這些問題在很多地方都能發生,比如ClassNotFound,所以沒法去一一要求程式設計師捕獲
非執行時異常,又叫錯誤:
1、是Java的類庫或是程式設計師自己寫的程式碼發生的異常
2、這些異常是類的開發者預期發生而且主動檢測、丟擲的,只在特定的位置、時機發生,是要求使用者捕獲、處理的。比如IOException,那就是Java的I/O庫寫程式碼的時候主動判斷檔案是否存在等現象,發生現象的時候主動丟擲來的,而我們用的時候也要處理它。

二、java語言如何進行異常處理?

Java通過面向物件

的方法進行異常處理,把各種不同的異常進行分類,並提供了良好的介面。在Java中,每個異常都是一個物件,它是Throwable類或其它子類的例項。當一個方法出現異常後便丟擲一個異常物件,該物件中包含有異常資訊,呼叫這個物件的方法可以捕獲到這個異常並進行處理。Java的異常處理是通過5個關鍵詞來實現的:try、catch、throw、throws和finally。一般情況下是用try來執行一段程式,如果出現異常,系統會丟擲(throws)一個異常,這時候你可以通過它的型別來捕捉(catch)它,或最後(finally)由預設處理器來處理。

用try來指定一塊預防所有異常的程式。緊跟在try程式後面,應包含一個catch子句來指定你想要捕捉的異常的型別。

throw語句用來明確地丟擲一個異常。

throws用來標明一個成員函式可能丟擲的各種異常。

可以在一個成員函式呼叫的外面寫一個try語句,在這個成員函式內部寫另一個try語句保護其他程式碼。每當遇到一個try語句,異常的框架就放到堆疊上面,直到所有的try語句都完成。

三、說明類和物件例項之間的關係,並說明靜態變數和例項變數的區別和使用它們的場景

類可以理解為一種型別,比如你定義了一種型別叫“中國人”;
物件可以理解為類中的具體的例項,“你”就是“中國人”中實實在在的一個物件,也就是說給類中的各個屬性賦予了某一個特定的值,比如:姓名,年齡,身份證號,這樣一個抽象的“中國人”就例項化成一個具體的實實在在存在的“人”了。

靜態變數屬於類,不用例項化就已經存在,所有的例項共享同一個靜態變數,可以通過類名和例項名來訪問。例項變數屬於例項,每個例項都有自己的這個變數,只能通過例項名來訪問。

四、是否可以從一個static方法內部發出對非static方法的呼叫

不可以。因為非static方法是要與物件關聯在一起的,必須建立一個物件後,才可以在該物件上進行方法呼叫,而static方法呼叫時不需要建立物件, 可以直接呼叫。也就是說,當一個static方法被呼叫時,可能還沒有建立任何例項物件,如果從一個static方法中發出對非static方法的呼叫, 那個非static方法是關聯到哪個物件上的呢?這個邏輯無法成立,所以,一個static方法內部發出對非static方法的呼叫。

五、WEB開發

一、描述J2EE BS系統的目錄結構,Web.xml的作用是什麼

J2EE 典型的四層結構:執行在客戶端機器上的客戶層元件;執行在J2EE伺服器上的Web層元件;執行在J2EE伺服器上的業務邏輯層元件;執行在EIS伺服器上的企業資訊系統(Enterprise information system)層軟體。

每個javaEE工程中都有web.xml檔案,那麼它的作用是什麼呢?它是每個web.xml工程都必須的嗎? 

一個web中可以沒有web.xml檔案,也就是說,web.xml檔案並不是web工程必須的。 


web.xml檔案是用來初始化配置資訊:比如Welcome頁面、servletservlet-mappingfilterlistener、啟動載入級別等。

當你的web工程沒用到這些時,你可以不用web.xml檔案來配置你的Application。 


每個xml檔案都有定義它書寫規則的Schema檔案,也就是說javaEE的定義web.xml所對應的xml Schema檔案中定義了多少種標籤元素,web.xml中就可以出現它所定義的標籤元素,也就具備哪些特定的功能。web.xml的模式檔案是由Sun 公司定義的,每個web.xml檔案的根元素為<web-app>中,必須標明這個web.xml使用的是哪個模式檔案。如: 
<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
</web-app> 

    web.xml的模式檔案中定義的標籤並不是定死的,模式檔案也是可以改變的,一般來說,隨著web.mxl模式檔案的版本升級,裡面定義的功能會越來越 複雜,標籤元素的種類肯定也會越來越多,但有些不是很常用的,我們只需記住一些常用的並知道怎麼配置就可以了。 


下面列出web.xml我們常用的一些標籤元素及其功能: 

1、指定歡迎頁面,例如: 
<welcome-file-list> 
  <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>index1.jsp</welcome-file> 
  </welcome-file-list> 
PS:指定了2個歡迎頁面,顯示時按順序從第一個找起,如果第一個存在,就顯示第一個,後面的不起作用。如果第一個不存在,就找第二個,以此類推。 

關於歡迎頁面: 

    訪問一個網站時,預設看到的第一個頁面就叫歡迎頁,一般情況下是由首頁來充當歡迎頁的。一般情況下,我們會在web.xml中指定歡迎頁。但 web.xml並不是一個Web的必要檔案,沒有web.xml,網站仍然是可以正常工作的。只不過網站的功能複雜起來後,web.xml的確有非常大用 處,所以,預設建立的動態web工程在WEB-INF資料夾下面都有一個web.xml檔案。 


2、命名與定製URL。我們可以為ServletJSP檔案命名並定製URL,其中定製URL是依賴命名的,命名必須在定製URL前。下面拿serlet來舉例: 
(1)、為Servlet命名: 
<servlet> 
    <servlet-name>servlet1</servlet-name> 
    <servlet-class>org.whatisjava.TestServlet</servlet-class> 
</servlet> 

(2)、為Servlet定製URL、 
<servlet-mapping> 
    <servlet-name>servlet1</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping> 



3、定製初始化引數:可以定製servletJSPContext的初始化引數,然後可以再servletJSPContext中獲取這些引數值。 

下面用servlet來舉例: 
<servlet> 
    <servlet-name>servlet1</servlet-name> 
    <servlet-class>org.whatisjava.TestServlet</servlet-class> 
    <init-param> 
          <param-name>userName</param-name> 
          <param-value>Daniel</param-value> 
    </init-param> 
    <init-param> 
          <param-name>E-mail</param-name> 
          <param-value>[email protected]</param-value> 
    </init-param> 
</servlet> 
經過上面的配置,在servlet中能夠呼叫getServletConfig().getInitParameter("param1")獲得引數名對應的值。 



4、指定錯誤處理頁面,可以通過異常型別錯誤碼來指定錯誤處理頁面。 
<error-page> 
    <error-code>404</error-code> 
    <location>/error404.jsp</location> 
</error-page> 
----------------------------- 
<error-page> 
    <exception-type>java.lang.Exception<exception-type> 
    <location>/exception.jsp<location> 
</error-page> 



5、設定過濾器:比如設定一個編碼過濾器,過濾所有資源 
<filter> 
    <filter-name>XXXCharaSetFilter</filter-name> 
    <filter-class>net.test.CharSetFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>XXXCharaSetFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 



6、設定監聽器: 
<listener> 
<listener-class>net.test.XXXLisenet</listener-class> 
</listener> 



7、設定會話(Session)過期時間,其中時間以分鐘為單位,假如設定60分鐘超時: 
<session-config> 
<session-timeout>60</session-timeout> 
</session-config> 


除了這些標籤元素之外,還可以往web.xml中新增很多標籤元素,由於不常用省略。

二、Web開發中需要處理HTML標記時,應做什麼樣的處理,要篩選那些字元?

(< > & “”)——這個不會,會的哥們留下答案

三、寫出你常用的關於Web安全性考慮的幾方面

sec.chinabyte.com/34/13164034.shtml 

防止sql注入、防止窗體和指令碼洩密、Cookies和會話管理

四、表單提交中Get和Post方式的區別,forward 和redirect的區別?

表單提交中get和post方式的區別有5點 
1.get是從伺服器上獲取資料,post是向伺服器傳送資料。 
2.get是把引數資料 佇列加到提交表單的ACTION屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。post是通過HTTPpost機制,將表單內各 個欄位與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。使用者看不到這個過程。 
3.對於get方式,伺服器端用Request.QueryString獲取變數的值,對於post方式,伺服器端用Request.Form獲取提交的資料。 
4.get傳送的資料量較小,不能大於2KB。post傳送的資料量較大,一般被預設為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。 
5.get安全性非常低,post安全性較高。

forward是你打電話問同事,明天上班不?你經理就在你同事身邊,所以電話沒掛,同事問了經理然後告訴你,明天是要上班。
redirect你問同事,明天上班不?你同事他也不知道,但他告訴了你們經理的電話,讓你打電話問經理,然後你就得掛電話,重新打個電話給你經理。

http://blog.csdn.net/john2522/article/details/7438799

五、Jsp有哪些內建物件,作用分別是什麼?

JSP共有以下9種基本內建元件 

1、request物件 客戶端請求,此請求會包含來自GET/POST請求的引數通過它才能瞭解到客戶的需求,然後做出響應。 

2、response物件 響應客戶請求的有關資訊

3、session物件 它指的是客戶端與伺服器的一次會話,從客戶端連到伺服器的一個WebApplication開始,直到客戶端與伺服器斷開連線為止。

4、out物件 它是JspWriter類的例項,是向客戶端輸出內容常用的物件

5、page物件   它是指向當前JSP頁面本身,有點象類中的this指標,它是 java.lang.Object類的例項

6、application物件 它實現了使用者間資料的共享,可存放全域性變數。它開始於伺服器的啟動,直到伺服器的關閉 

7、exception物件 它是一個例外物件,當一個頁面在執行過程中發生了例外,就產生這個物件。

8、pageContext物件 它提供了對JSP頁面內所有的物件及名字空間的訪問

9、config物件 它是在一個Servlet初始化時,JSP引擎向它傳遞資訊用的

六、開源框架和設計模式

一、請解釋mvc和struts的關係,簡要講解如何應用Struts進行開發?說明Struts的幾種常用標籤及他們的作用

MVC是一種軟體開發的架構,M指的是業務處理模型,也就是業務處理層;V指的是檢視,也就是展示層;C指的是控制,也就是完成展示層和模型層之間的轉接控制
struts是一種mvc架構的實現框架,為開發者提供方便的mvc使用

網址:

http://wenku.baidu.com/link?url=HvAaLi18q8WwH3BTBhngnEl6crSZrylZF-vZryeU1QhCVg4hUwpwaMp7Z9WX5q5VQqM09YCtjlvNFDHKOOaycwPyUCaLMQIlkVqVNTLd6ri

二、Hibernate為什麼提供了延遲載入?起什麼作用?資料庫有沒有提供相應的延遲載入功能,hibernate是如何配置實現延遲載入的?

三、為什麼使用Ajax?Ajax主要用在哪些地方?使用Ajax的缺點是什麼?

七、資料庫

相關推薦

中科2016試題總結編輯

一、JAVA 一、執行時異常和一般異常的區別? 執行時異常: 1、是虛擬機器執行過程中遇到的“系統級”問題 2、這些問題在很多地方都能發生,比如ClassNotFound,所以沒法去一一要求程式設計師捕獲 非執行時異常,又叫錯誤: 1、是Java的類庫或是程式設計師自己寫

運維工程師面試試題總結

1、Linux啟動大致過程? 1)POST:通電自檢 2)BIOS:BOIS自檢,載入硬碟 3)讀取MBR,進行MBR引導 4)grub引導選單 5)載入核心 Kernel(ramdisk) 6)啟動init程序,依據inittab檔案設定執行級別 7)init程序,執行rc.sysin

個人作業——件產品案例分析

語言 的人 感覺 哪些 開發 tps 部分 界面 發現 第一部分 調研,評測 評測: 軟件的bug,功能評測,黑箱測試 1.下載並使用,描述最簡單直觀的個人第一次上手體驗。 界面簡潔明了,把項目列表放在首頁最顯眼的位置。而且整體感覺很舒適,讓人第一感官很舒服。 2.按照描

iptables關鍵學習總結完善

store iptable 技術 sys 環境 tor page 保存 hive iptables技術推薦參考這位仁兄的博客:http://www.zsythink.net/archives/category/%E8%BF%90%E7%BB%B4%E7%9B%B8%E5%8

java面試試題彙總陸續補充

最近自己也在準備面試的一方面東西,遇到一些不太熟悉的地方我會陸續補充上來。 1.選擇排序和氣泡排序 /** * 選擇排序 * @param arr * @return */ public static int[] ChooseSor

2018年java面試題總結附答案

1.什麼是B/S架構?C/S架構? B/S(Browser/Server),瀏覽器/伺服器程式; C/S(Client/Server),客戶端/服務端,桌面應用程式。 2.網路協議有哪些? HTTP:超文字傳輸協議; SMPT:簡單郵件協議; TELNET:遠端終端

Java面試題總結附答案

  1.什麼是B/S架構?C/S架構? B/S(Browser/Server),瀏覽器/伺服器程式; C/S(Client/Server),客戶端/服務端,桌面應用程式。     2.網路協議有哪些? HTTP:超文字傳輸協議;

2018年 年底web前端面試題總結附帶答案

javascript:  JavaScript中如何檢測一個變數是一個String型別?請寫出函式實現 typeof(obj) === "string" typeof obj === "string" obj.constructor === String 請用js去除字串空格? 方法一:使

Open GL常用函式總結更新

1.設定畫筆顏色 glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0,1.0,0.0); 2.glFlush();//重新整理圖形,display函式末尾 3.glMatrixMode(GLenum mode)    &nb

visio使用總結完善

問題1:無法使用鍵盤的上下移動鍵(方向鍵)選中物件進行移動 描述: 原來可以點選物件使用鍵盤上的上下左右箭頭來移動選中的物件,但是今天想移動物件時,發現是移動的整個面板。 解決方法: 鍵盤上的scoll lock鍵打開了。關上即可 問題2:在物件給定的連線線介面之外,新增連線線。

試題總結2015-12

寒冬季節,又開始工作,終於告一段落,記錄下面試題: lock與synchronized區別快取實現原理,弱引用如何實現序列化過程加密大物件(幾M以上)在堆裡是怎麼存放的整數陣列組合成最大整數演算法2g、3g、wifi下對app的影響樂觀鎖和悲觀鎖區別spring的even

去BAT面試完的Mysql面試題總結55道

55道網際網路大公司的經典面試題,全部答對月薪5W+沒問題。1、一張表裡面有ID自增主鍵,當insert了17條記錄之後,刪除了第15,16,17條記錄,再把mysql重啟,再insert一條記錄,這條記錄的ID是18還是15 ?2、mysql的技術特點是什麼?3、Heap表

連結串列面試題小結完成

以下程式碼使用的公共結構: 連結串列節點: struct ListNode { int data; ListNode *next; }; 輔助函式: //make a list ListNode *makeList(int *arr, int n) { if(a

JAVA面試總結整理

內部類是一個統稱,具體分為四種:成員類,靜態成員類,區域性類,匿名類。其中匿名類是區域性類的特殊情況。對於成員類和靜態成員類都存在於類的頂層程式碼中。相當於類的靜態方法和非靜態方法的關係。區別在於成員類依賴於類例項而靜態成員類不依賴。所以前者只能訪問例項方法和成員而後者只能訪問靜態方法和成員。它們都用於建立

2018--滴滴順風車PHP實習生面試之二面分享總結

兩次面試都是視訊面的。二面面試官先讓我做的自我介紹。我就從大一開始簡單的介紹了下。1、下面是我的介紹:    從大一開始,我就加入了我們系的Topcoder工作室, 並進入了專案組開始學習PHP基礎知識,一直持續到現在。期間在學習的同時,完成了我們工作室網站前後臺的建設,然後

經典基礎C++試題2附答案

1. C中static有什麼作用?(1)隱藏。 當我們同時編譯多個檔案時,所有未加static字首的全域性變數和函式都具有全域性可見性,故使用static在不同的檔案中定義同名函式和同名變數,而不必擔心命名衝突。(2)static的第二個作用是保持變數內容的持久。儲存在靜態資

機器學習資料探勘崗位面試題總結實時更新

1. 專案介紹 2. 你這個專案中間哪些地方提升,中間過程分別提升了多少CTR? 3. 你專案用的分散式LR的是用什麼優化方法,引數怎麼調的,mini-batch的batch是多少? parameter-server原理,如何解決資料一致性? 4. 會分散式麼,hadoop,spark會麼,說說ha

C/C++及資料結構試題集錦校園招聘之一

嗯,這是我從學校bbs精華區整理的c/c++及資料結構的筆試以及部分面試題集錦,覺得只要搞懂了這些題目,大部分的筆試都不懼了。希望能給需要的人帶來幫助。順便攢rp ^_^ 不過大部分題目沒有答案,歡迎補充哦~~~~ 一: 已知類String的原型為: class Str

iOS APP打包遇到的問題和解決辦法總結 更新

** 1.App提交報錯 -22421 ** 解決辦法:用Application Loader上傳包 遇到這樣的情況或者錯誤程式碼-22421錯誤,可直接點選Done 然後通過右邊的Export直接生成IPA包,然後下載Application Loa

大資料面試題總結附答案

目錄 最近由於要準備面試就開始提早看些面試、筆試題。以下是自己總結的一些經常出現、有價值的試題,包含hadoop、hive、hbase、storm、spark等。答案僅供參考,如有錯誤,請指