開發人員筆試題6篇

開發人員筆試題篇四:java_web開發人員筆試題

c ab d b b

abcd bd b abd abc

b b b c c

c c c b bc

c a abcdef abc c

ac c B d d

java 面試題

一.選擇題(每題1分)

1. jsp 有幾個內置對象?(c )(單選)

A 5個 B 6個 C 9個 D 8個

2. 在JAVA中,如何跳出當前的多重嵌套循環?( ab) (多選)

A break B return C forward D finally

3. 四種會話跟蹤技術,哪個範圍最大?( d ) (單選)

A page B request C session D application

4. java中有幾種方法可以實現一個執行緒?( b ) (單選)

A 1種 B 2種 C 3種 D 4種

5. 同步有幾種實現方法 ( b) (單選)

A 4種 B 2種 C 3種 D 1種

6. xml有哪些解析技術? ( abcd ) (多選)

A DOM B SAX C STAX D JDOM

7. 下列說法正確的是( )(多選)

A 構造器Constructor可被繼承

B String類不可以繼承

C 判斷兩個對象值相同用“==”

D char型變數中能不能存貯一個中文漢字

8.下面說法錯誤的是( ) (單選)

A Vector是執行緒安全的

B float f=3.4是正確的

C StringBuffer的長度是可變的

D StringBuffer的長度是不可變的

9. 下列關於集合的說法正確的是( )(多選)

A List 的具體實現包括 ArrayList 和 Vector

B Map 集合類用於存儲元素對(稱作"鍵"和"值"),其中每個鍵映射到一個值

C Set的元素是有序的

D Hashtable 是執行緒安全的。

10. 下列關於執行緒說法正確的是( )(多選)

A 調用sleep不會釋放對象鎖。

B 調用wait方法導致本執行緒放棄對象鎖

C 當一個執行緒進入一個對象的一個synchronized方法後,其它執行緒不可進入此對象的

其它方法

D notify:喚醒全部處於等待狀態的執行緒。

11. 給定JSP程式源碼如下,該JSP運行後輸出的結果是( )。(單選)

Count:

A Count:1 B Count:2 C 1:2 D Count:

12在J2EE中的一個JSP檔案中,有表達式,它將輸出( )(單選)

a)2+3 b)5 c)23 d)不會輸出,因為表達式是錯誤的

13 在J2EE中,JSTL提供條件標籤以支持JSP頁面的各種條件,其中( )類似於Java語言的switch語句。(單選)

a) b) c) d)

14. 在進行Java Web開發時,假定一個變數保存在session中,要獲得這個變數的值,可以使用以下( )語句。(單選)

a) application.getAttribute(“name”)

b) pageContext.getAttribute(“name”)

c) session.getAttribute(“name”)

d) config.getInitParameter(“name”)

15)在J2EE中,編寫Servlet過濾器時,( )接口用於調用過濾器鏈中的下一個過濾器。( )(單選)

a)Filter b)FilterConfig c)FilterChain d)Servlet

16) 關於視圖的描述正確的是( ) (單選)

a) 視圖是一種特殊的表,它存儲了用戶定製的數據。

b) 視圖僅用於用戶進行查詢,不可以通過視圖對數據進行修改。

c) 在sql server中可以通過用T-sql語句來創建,也可以通過企業管理器。

d) 創建視圖只能操作本機器上的資料庫表。

17)STRUTS框架中,( )類在視圖層和控制層之間傳遞HTML表單數據。(單選) a) Action b) ActionForward c) ActionForm d) ActionServlet

18)Struts控制器的主要任務是接受用戶請求、根據用戶請求調用對應的模型組件、獲取業務邏輯執行結果的根據處理結果選擇適合的視圖組件返回給用戶,實現Struts控制器的類中不包括( )。(單選)

a) ActionServlet b) Action c) ActionForm d) ActionForward

19)在OOD中,類和接口之間的關係稱之為( )。(單選)

a) 泛化 b) 實現 c) 關聯 d) 繼承

20) 以下關於SessionFactory的說法哪些正確?( )(多選)

A) 對於每個資料庫事務,應該創建一個SessionFactory對象

B) 一個SessionFactory對象對應一個資料庫存儲源。

C) SessionFactory是重量級的對象,不應該隨意創建。如果系統中只有一個資料庫存儲源只需要創建一個。

D) SessionFactory的load方法用於載入持久化對象

21) 關於AOP錯誤的( )(單選)

A)AOP將散落在系統中的“方面”代碼集中實現

B)AOP有助於提高系統可維護性

C)AOP已經表現出將要替代面向對象的趨勢

D)AOP是一種設計模式,Spring提供了一種實現

22) 依賴注入說法正確的(單選)

A)依賴注入的目標是在代碼之外管理程式組建間的依賴關係

B)依賴注入即是“面向接口”的編程

C)依賴注入是面向對象技術的替代品

D)依賴注入的使用會增大程式的規模

23) 以下哪些屬於Session的方法?( )(多選)

A) load

B) save

C) delete

D) update

E) open

F) close

24) 下面那些是Hibernate的查詢方式( )(多選)

A) sql B) hql C) Criteria

25) 以下數據結構不屬於線性結構的是( )(單選)

A) 佇列 B) 線性表 C) 二叉樹 D) 棧

26) 下列是檔案讀寫的類是( )(多選)

A) File Reader B) File C) FileWriter D) InputStream

27) 資料庫技術中的“髒數據',是指( )的數據。(單選)

A) 錯誤 B 回返 C 未提交 D 未提交的隨後又被撤消

28)在計算機中,—個位元組是由多少個二進制位組成的( ) (單選)

A). 4 B). 8 C). 16 D). 24

29)設正x、y均為整型變數,且x=10 y=3,則以下語句printf("%d,%d\n",x--,--y); 的輸出結果是( )(單選)

A).10,3 B). 9,3 C). 9,2 D).10,2

30) 下列不屬於面向對象的方法是( )(單選)

A). 對象 B). 類 C). 繼承 D).過程調用

二. 填空(每空1分)

1. String s = new String("xyz");創建了_____個String 對象?

2. Math.round(9.5)等於_____ Math.round(-9.5)等於______

3. try 里有一個return語句,那么緊跟在這個try後的finally 里的code會被執行,什麼時候被執行,在return_________ ( 前還是後?)

4. 如何現實servlet的單執行緒模式 _______________

5. 類變數必須帶的修飾符是 _______________

6. final類可以修飾在屬性 , 方法 和 _______ 前面

7. Java默認的包是___________________

8. Hibernate裡面怎樣實現類與類之間的關係__________________________________

9. Socket 編程伺服器端用____________類來創建socket對象

三. 判斷題(每題2分)

1. 依賴注入即是“面向接口”的編程。

2. Overload和Override都是java多態的不同體現形式。

3. String是最基本的數據類型

4. 啟動一個執行緒是用start

5. 接口可以繼承接口

四.簡答題(每題4分)

1. 下列程式列印結果是

int arr = {1,3,3,2,8};

String str = “”;

int i=0;

public void doIt{

for(;i

if(arr[i]>arr[i+1]){

str=arr[i]+arr[i+1]+str;

break;

} else if(arr[i]

str=arr[i]+str+arr[i+1];

i++;

continue;

} else{

str+=arr[i];

i++;

}

}

System.out.println(i);

System.out.println(str);

}

2. 將會列印出什麼?

package test;

public class FatherClass

public FatherClass

{ System.out.println("FatherClass Create"); }

類:package test;import test.FatherClass;

public class ChildClass extends FatherClass

public ChildClass {

System.out.println("ChildClass Create"); }

public static void main(String args) { FatherClass fc = new FatherClass; ChildClass cc = new ChildClass; }}

輸出結果:

3.下列程式對還是錯,如果錯請說明原因!

abstract class Name {

private String name;

public abstract boolean isStupidName(String name)

4. 表:table1(FId,Fclass,Fscore),用最高效最簡單的SQL列出各班成績最高的列表,顯示班級,成績兩個欄位。

5. 下面程式運行結果是

String arr1 ={”a”,”b”,”1″,”c”,”b”};

List lst1 = new ArrayList;

lst1.add(”d”);

Collections.addAll(lst1,arr1);

System.out.println(lst1);

Set set1 = new HashSet;

set1.add(”d”);

Collections.addAll(set1, arr1);

System.out.println(set1);

運行結果:

四.編程題(每題6分)

1. 寫一個Singleton出來

2一個表td中的部分Id有多個記錄,把所有有多個記錄的id查出來,並顯示共有多少條記錄數。

3 給你個字元串 String = “abcdefg”,請你把它倒序輸出。

4.寫出冒泡排序的實現

5 編程:編寫一個截取字元串的函式,輸入為一個字元串和位元組數,輸出為按位元組截取的字元串。 但是要保證漢字不被截半個,如“我ABC”4,應該截為“我AB”,輸入“我ABC漢DEF”,應該輸出為“我ABC”而不是“我ABC+漢的半個”。

開發人員筆試題篇五:

1.下面是一些基本的數字電路知識問題,請簡要回答:

(1)什麼是Setup和Holdup時間?

(2)什麼是競爭與冒險現象?怎樣判斷?如何消除?

(3)請畫出用D觸發器實現2倍分頻的邏輯電路。

(4)什麼是“線與”邏輯?要實現它,在硬體特性上有什麼具體要求?

(5)什麼是同步邏輯和異步邏輯?

(6)請畫出微機接口電路中,典型的輸入設備與微機接口邏輯示意圖(數據接口、控制接口、所存器/緩衝器)。

(7)你知道哪些常用的邏輯電平?TTL與COMS電平可以直接互連嗎?

2.可程式邏輯器件在現代電子設計中越來越重要,請問:

(1)你所知道的可程式邏輯器件有哪些?

(2)試用VHDL或Verilog,ABLE描述8位D觸發器邏輯

3.構想你將設計完成一個電子電路方案。請簡述用EDA軟體(如PROTEL)進行設計(包括原理圖和PCB圖)到調試出樣機的整個過程。在各個環節應注意哪些問題?

開發人員筆試題篇六:

1, 判斷字元串是否是這樣組成的,第一個必須是字母,後面可以是字母、數字、下劃線,總長度為5-20

var reg = /^[a-zA-Z][a-zA-Z_0-9]{4,19}$/;

reg.test("a1a__a1a__a1a__a1a__");

2,截取字元串abcdefg的efg

var str = "abcdefg";

if (/efg/.test(str)) {

var efg = str.substr(str.indexOf("efg"), 3);

alert(efg);

}

3,判斷一個字元串中出現次數最多的字元,統計這個次數

//將字元串的字元保存在一個hash table中,key是字元,value是這個字元出現的次數

var str = "abcdefgaddda";

var obj = ;

for (var i = 0, l = str.length; i < l; i++) {

var key = str[i];

if (!obj[key]) {

obj[key] = 1;

} else {

obj[key]++;

}

}

/*遍歷這個hash table,獲取value最大的key和value*/

var max = -1;

var max_key = "";

var key;

for (key in obj) {

if (max < obj[key]) {

max = obj[key];

max_key = key;

}

}

alert("max:"+max+" max_key:"+max_key);

4,IE與FF腳本兼容性問題

(1) window.event:

表示當前的事件對象,IE有這個對象,FF沒有,FF通過給事件處理函式傳遞事件對象

(2) 獲取事件源

IE用srcElement獲取事件源,而FF用target獲取事件源

(3) 添加,去除事件

IE:element.attachEvent(“onclick”, function) element.detachEvent(“onclick”, function)

FF:element.addEventListener(“click”, function, true) element.removeEventListener(“click”, function, true)

(4) 獲取標籤的自定義屬性

IE:div1.value或div1[“value”]

FF:可用div1.getAttribute(“value”)

(5) document.getElementByName和document.all[name]

IE;document.getElementByName和document.all[name]均不能獲取div元素 FF:可以

(6) input.type的屬性

IE:input.type唯讀

FF:input.type可讀寫

(7) innerText textContent outerHTML

IE:支持innerText, outerHTML

FF:支持textContent

(8) 是否可用id代替HTML元素

IE:可以用id來代替HTML元素

FF:不可以

這裡只列出了常見的,還有不少,更多的介紹可以參看JavaScript在IE瀏覽器和Firefox瀏覽器中的差異總結

5,規避javascript多人開發函式重名問題

(1) 可以開發前規定命名規範,根據不同開發人員開發的功能在函式前加前綴

(2) 將每個開發人員的函式封裝到類中,調用的時候就調用類的函式,即使函式重名只要類名不重複就ok

6,javascript面向對象中繼承實現

javascript面向對象中的繼承實現一般都使用到了構造函式和Prototype原型鏈,簡單的代碼如下:

function Animal(name) {

this.name = name;

}

Animal.prototype.getName = function {alert(this.name)}

function Dog ;

Dog.prototype = new Animal("Buddy");

Dog.prototype.constructor = Dog;

var dog = new Dog;

7,FF下面實現outerHTML

FF不支持outerHTML,要實現outerHTML還需要特殊處理

思路如下:

在頁面中添加一個新的元素A,克隆一份需要獲取outerHTML的元素,將這個元素append到新的A中,然後獲取A的innerHTML就可以了。

SPANDIV

SPAN

P

8,編寫一個方法 求一個字元串的位元組長度

假設:

一個英文字元占用一個位元組,一個中文字元占用兩個位元組

function GetBytes(str){

var len = str.length;

var bytes = len;

for(var i=0; i

if (str.charCodeAt(i) > 255) bytes++;

}

return bytes;

}

alert(GetBytes("你好,as"));

9,編寫一個方法 去掉一個數組的重複元素

var arr = [1 ,1 ,2, 3, 3, 2, 1];

Array.prototype.unique = function{

var ret = ;

var o = ;

var len = this.length;

for (var i=0; i

var v = this[i];

if (!o[v]){

o[v] = 1;

ret.push(v);

}

}

return ret;

};

alert(arr.unique);

10,寫出3個使用this的典型套用

(1)在html元素事件屬性中使用,如

(2)構造函式

function Animal(name, color) {

this.name = name;

this.color = color;

}

(3)

(4)CSS expression表達式中使用this關鍵字

div element

12,如何顯示/隱藏一個DOM元素?

el.style.display = "";

el.style.display = "none";

el是要操作的DOM元素

13,JavaScript中如何檢測一個變數是一個String類型?請寫出函式實現

String類型有兩種生成方式:

(1)Var str = “hello world”;

(2)Var str2 = new String(“hello world”);

function IsString(str){

return (typeof str == "string" || str.constructor == String);

}

var str = "";

alert(IsString(1));

alert(IsString(str));

alert(IsString(new String(str)));

14,網頁中實現一個計算當年還剩多少時間的倒數計時程式,要求網頁上實時動態顯示“××年還剩××天××時××分××秒”

15,補充代碼,滑鼠單擊Button1後將Button1移動到Button2的後面

16,JavaScript有哪幾種數據類型

簡單:Number,Boolean,String,Null,Undefined

複合:Object,Array,Function

17,下面css標籤在JavaScript中調用應如何拼寫,border-left-color,-moz-viewport borderLeftColor

mozViewport

18,JavaScript中如何對一個對象進行深度clone

function cloneObject(o) {

if(!o || 'object' !== typeof o) {

return o;

}

var c = 'function' === typeof o.pop ? : ;

var p, v;

for(p in o) {

if(o.hasOwnProperty(p)) {

v = o[p];

if(v && 'object' === typeof v) {

c[p] = Ext.ux.clone(v);

}

else {

c[p] = v;

}

}

return c;

};

19,如何控制alert中的換行

\n alert(“p\np”);

20,請實現,滑鼠點擊頁面中的任意標籤,alert該標籤的名稱.(注意兼容性)

SPANDIV

SPAN

P

21,請編寫一個JavaScript函式 parseQueryString,它的用途是把URL參數解析為一個對象,如:

var url = “;key1=1&key2=2″;

function parseQueryString(url){

var params = ;

var arr = url.split("?");

if (arr.length <= 1)

return params;

arr = arr[1].split("&");

for(var i=0, l=arr.length; i

var a = arr[i].split("=");

params[a[0]] = a[1];

}

return params;

}

var url = ";key1=1&key2=2";

var ps = parseQueryString(url);

alert(ps["key1"]);

22,ajax是什麼? ajax的互動模型? 同步和異步的區別? 如何解決跨域問題?

Ajax是多種技術組合起來的一種瀏覽器和伺服器互動技術,基本思想是允許一個網際網路瀏覽器向一個遠程頁面/服務做異步的http調用,並且用收到的數據來更新一個當前web頁面而不必刷新整個頁面。該技術能夠改進客戶端的體驗。包含的技術:

XHTML:對應W3C的XHTML規範,目前是XHTML1.0。

CSS:對應W3C的CSS規範,目前是CSS2.0

DOM:這裡的DOM主要是指HTML DOM,XML DOM包括在下面的XML中 JavaScript:對應於ECMA的ECMAScript規範

XML:對應W3C的XML DOM、XSLT、XPath等等規範

XMLHttpRequest:對應WhatWG的Web Applications1.0規範

AJAX互動模型

同步:腳本會停留並等待伺服器傳送回復然後再繼續

異步:腳本允許頁面繼續其進程並處理可能的回覆

跨域問題簡單的理解就是因為JS同源策略的限制,a.com域名下的JS無法操作b.com或c.a.com下的對象,具體場景如下:

PS:(1)如果是連線埠或者協定造成的跨域問題前端是無能為力的

(2) 在跨域問題上,域僅僅通過URL的首部來識別而不會嘗試判斷相同的IP位址對應的域或者兩個域是否對應一個IP

前端對於跨域的解決辦法:

(1) document.domain+iframe

(2) 動態創建script標籤

23,什麼是閉包?下面這個ul,如何點擊每一列的時候alert其index?

這是第一條

這是第二條

這是第三條

內部函式被定義它的函式的外部區域調用的時候就產生了閉包。

(function A {

var index = 0;

var ul = document.getElementById("test");

var obj = ;

for (var i = 0, l = ul.childNodes.length; i < l; i++) {

if (ul.childNodes[i].nodeName.toLowerCase == "li") {

var li = ul.childNodes[i];

li.onclick = function {

index++;

alert(index);

}

}

}

});

24,請給出異步載入js方案,不少於兩種

默認情況javascript是同步載入的,也就是javascript的載入時阻塞的,後面的元素要等待javascript載入完畢後才能進行再載入,對於一些意義不是很大的javascript,如果放在頁頭會導致載入很慢的話,是會嚴重影響用戶體驗的。

異步載入方式:

(1) defer,只支持IE

(2) async:

(3) 創建script,插入到DOM中,載入完畢後callBack,見代碼:

function loadScript(url, callback){

var script = document.createElement("script")

script.type = "text/javascript";

if (script.readyState){ //IE

script.onreadystatechange = function{

if (script.readyState == "loaded" ||

script.readyState == "complete"){

script.onreadystatechange = null;

callback;

}

};

} else { //Others: Firefox, Safari, Chrome, and Opera

script.onload = function{

callback;

};

}

script.src = url;

document.body.appendChild(script);

}

25,請設計一套方案,用於確保頁面中JS載入完全。

var n = document.createElement("script");

n.type = "text/javascript";

//以上省略部分代碼

//ie支持script的readystatechange屬性(IE support the readystatechange event for script and css nodes)

if(ua.ie){

n.onreadystatechange = function{

var rs = this.readyState;

if('loaded' === rs || 'complete'===rs){

n.onreadystatechange = null;

f(id,url); //回調函式

}

};

//省略部分代碼

//safari 3.x supports the load event for script nodes(DOM2)

n.addEventListener('load',function{

f(id,url);

});

//firefox and opera support onload(but not dom2 in ff) handlers for

//script nodes. opera, but no ff, support the onload event for link

//nodes.

}else{

n.onload = function{

f(id,url);

};

}

26,js中如何定義class,如何擴展prototype?

Ele.className = “***”; //***在css中定義,形式如下:.*** {…}

A.prototype.B = C;

A是某個構造函式的名字

B是這個構造函式的屬性

C是想要定義的屬性的值

27,如何添加html元素的事件,有幾種方法.

(1) 為HTML元素的事件屬性賦值

(2) 在JS中使用ele.on*** = function {…}

(3) 使用DOM2的添加事件的方法 addEventListener或attachEvent

28,documen.write和 innerHTML的區別

document.write只能重繪整個頁面

innerHTML可以重繪頁面的一部分

29,多瀏覽器檢測通過什麼?

(1) navigator.userAgent

(2) 不同瀏覽器的特性,如addEventListener

30,js的基礎對象有那些, window和document的常用的方法和屬性列出來

String,Number,Boolean

Window:

方法:setInterval,setTimeout,clearInterval,clearTimeout,alert,confirm,open

屬性:name,parent,screenLeft,screenTop,self,top,status

Document

方法:createElement,execCommand,getElementById,getElementsByName,getElementByTagName,write,writeln

屬性:cookie,doctype,domain,documentElement,readyState,URL,

31,前端開發的最佳化問題

(1) 減少http請求次數:css spirit,data uri

(2) JS,CSS源碼壓縮

(3) 前端模板 JS+數據,減少由於HTML標籤導致的頻寬浪費,前端用變數保存AJAX請求結果,每次操作本地變數,不用請求,減少請求次數

(4) 用innerHTML代替DOM操作,減少DOM操作次數,最佳化javascript性能

(5) 用setTimeout來避免頁面失去回響

(6) 用hash-table來最佳化查找

(7) 當需要設定的樣式很多時設定className而不是直接操作style

(8) 少用全局變數

(9) 快取DOM節點查找的結果

(10) 避免使用CSS Expression

(11) 圖片預載

(12) 避免在頁面的主體布局中使用table,table要等其中的內容完全下載之後才會顯示出來,顯示比div+css布局慢

32,如何控制網頁在網路傳輸過程中的數據量

啟用GZIP壓縮

保持良好的編程習慣,避免重複的CSS,JavaScript代碼,多餘的HTML標籤和屬性 33,Flash、Ajax各自的優缺點,在使用中如何取捨?

Ajax的優勢

(1) 可搜尋型

(2) 開放性

(3) 費用

(4) 易用性

(5) 易於開發

Flash的優勢

(1) 多媒體處理

(2) 兼容性

(3) 矢量圖形 比SVG,Canvas優勢大很多

(4) 客戶端資源調度,比如麥克風,攝像頭

Sdd;d’dsdsdsd