**通用試題部分:**
**選擇題**
1、在按層次遍歷二叉樹的算法中, 需要借助的輔組數據結構是
A、隊列
B、棧
C、線性表
D、有序表
2、所謂指令周期是指
A、取指令和取操作數的時間
B、執行指令和存儲操作結果的時間
C、取操作數和執行指令的時間
D、取指令和執行指令的時間
3、 調用一成員函數時, 使用動態聯編的情況是
A、通過對象調用一虛函數
B、通過指針或引用調用一虛函數
C、通過對象調用靜態函數
D、通過指針或應用調用一靜態函數
4、配置管理能起到以下哪些作用
A、版本管理
B、變更管理
C、需求管理
D、測試管理
**簡答題**
我們在開發中經常強調要面向接口編程(又稱契約式編程), 請問采用接口有什么優點呢, 接口和抽象類又有什么區別呢? 分別使用在哪些場景?
**編程題**(不區分編程語言)
完成一段代碼, 代碼有三個線程, 主線程由Main進入, 啟動一個生產者線程和一個消費者線程, 生產者線程隨機產生整數, 并且把這個整數放入一個List中, 消費者從List中取出數據進行顯示
**綜合設計題**
現由于業務要求, 需要對每日的積分進出帳與支付寶的現金進出帳進行對賬. 帳務數據每天約100萬條紀錄, 現采用按時段生成帳務文件, 帳務文件通過http協議下載. 在次日凌晨下載帳務文件, 與本地的進出明細帳務做逐條核對.
問題 1: 如何保證每個時段的文件都下載了?
問題 2: 如何保證通過http下載的文件都是完整的?
問題 3: 現將本地帳務也生成文件, 帳務文件格式為: "交易號, 進帳金額, 出帳金額"三個字段用逗號分隔. 支付寶帳務文件格式完全相同, 請設計對賬流程, 并實現對賬算法的主要思路.
**C++開發/搜索引擎開發/數學算法開發**
1、以下程序運行后的輸出結果是
~~~
void main()
{
int p[7]={11, 13, 14, 15, 16, 17, 18};
int i=0, j=0;
while(i<7 && p[i]%2==1)
j+=p[i++];
printf("%d\n",j);
}
~~~
輸出結果是:24
2、列舉出STL中常用的容器,并指出下列場景中分別應該使用哪種容器?
從文件中循環讀取一系列不重復的英文單詞放入容器中, 并在放入的同時進行排序, 并提供檢索特定的單詞是否存在于容器中的功能.
從文件中循環讀取一系列數目不定的可重復的英文單詞放入容器中, 要求讀取并放置完后, 能夠刪除中間單詞, 并且能夠按以前的順序再輸出到另外的文件中.
從文件中循環讀取一系列數目固定的可重復的英文單詞放入容器中, 要求提供訪問第n個單詞的功能.
從文件中循環讀取一系列數目不定的大量重復的英文單詞放入容器, 要求統計每個單詞出現的次數, 并能夠檢索特定的單詞的出現次數.
3、若有以下說明和語句, int c[4][5], (*p)[5]; p=c; 如何使用p而不用c來表示c[2][3]這個元素, 答案中不能出現[]操作符。
答案**:*(*(p+2)+3)**
~~~
int main(void)
{
int c[4][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
int (*p)[5];
p=c;
printf("%d\n",*(*(p+2)+3));
return 0;
}
~~~
4、拷貝構造函數在什么時候被調用, 請寫出示例代碼
5、有以下定義和語句
int a[3][2]={1,2,3,4,5,6,},*p[3];
p[0]=a[1];
則*(p[0]+1)所代表的數組元素是
~~~
void main()
{
int a[3][2]={1,2,3,4,5,6,},*p[3]; //p先和[]結合,所以是一個數組,數組的元素是int型指針
p[0]=a[1]; //p[0]指向a數組第二行的首地址
printf("%d\n",*(p[0]+1)); //輸出a數組第二行第二列的元素:4
}
~~~
6、有以下程序, 程序運行后的輸出結果是
~~~
void main()
{
char str[][10]={"China", "Beijing"}, *p=str[0];
printf("%s\n",p+10);
}
~~~
輸出為:Beijing
**軟件測試**
1、 [語句分析, 本懶蟲不打了]
2、HTTP1.1協議中規定便是正常響應的狀態代碼是
A、400???????????? **B、200**???????????????? ?C、 100?????????????????????????? D、0
3、單鏈表的每個結點中包括一個指針link, 它指向該結點的后繼結點. 現要將指針q指向的新結點插入到指針p指向的單結點之后, 下面的操作序列中哪一個是真確的?
A、q:=p^.link; p^.link:=q^.link
B、p^.link:=q^.link; q:=p^.link
C、 q^.link:=p^.link; p^.link:=q
D、p^.link:=q; q^.link:=p^.link
4、[邏輯判斷題]
5、給出以下定義, 則正確的敘述為
char x[]="abcdefg";
char y[]={'a','b','c','d','e','f','g'};
A、數組X和數組Y等價
B、數組X和數組Y長度相同
C、數組X的長度大于數組Y的長度
D、數組X的長度小于數組Y的長度
printf("%d\n",sizeof(x));???? 輸出8
printf("%d\n",sizeof(y));??? 輸出7
因為x數組是字符串數組,后面還有結束符:“\0”,所以長度為:8
而y數組就是普通的字符數組,沒有“\0”結束符的,所以長度為:7
6、 下列程序的返回值是多少:
~~~
int countx=0;
int x=17373;
int f()
{
while(x)
{
countx++;
x=x&(x-1);
}
return countx;
}
~~~
countx的值記錄的就是x的二進制中1的個數,把x的二進制寫出來,數一下其中有多少個1就可以了。。
**數據庫開發**
1、本地管理表空間和字典管理表空間的特點,ASSM有什么特點。
2、日志的作用是什么?
答:日志文件是用來記錄你所對數據庫的操作信息的 例如對數據庫的操作等引起的問題 日記文件都有記載下來 。 如果數據庫有問題的時候可以去看那個日記文件來分析出錯的原因。
3、如果系統現在需要在一個很大的表上創建一個索引, 你會考慮哪些因素, 如何做以盡量減小對應用的影響。
**專業試題部分
Java開發**
1. 請列出Test執行時的輸出結果
A. 編譯不通過
B. SSA
C. SSS
D. SAA
Test代碼如下:
~~~
class A{
public void printValue(){
System.out.print("A");
}
}
class S extends A{
public void printValue(){
System.out.print("S");
}
}
public class Test {
public static void main(String[] args){
S s=new S();
s.printValue();
A as=(A)s;
as.printValue();
as=new A();
as.printValue();
}
}
~~~
2. String compare:
A
~~~
String s1="java";
String s2="java";
(1) s1==s2?? (2) s1.equals(s2)
Result: (1) (2)
~~~
B
~~~
String s="ja";
String s1=s+"va";
String s2="java";
(1) s1==s2?? (2) s1.equals(s2)
Result: (1) (2)
~~~
3. True or False: Readers have methods that can read and return floats and doubles.
A. True
B. False
4. 在//point x處的哪些聲明是句法上合法的(多選)
~~~
class Person{
private int a;
public int change(int m){
return m;
}
}
public class Teacher extends Person {
public int b;
public static void main(String arg[]){
Person p=new Person();
Teacher t=new Teacher();
int i;
//point x??
}
}
~~~
A. i=m; B. i=t.b; C. i=p.a; D. i=p.change(30);
5. Given the following code, what will be the output?
~~~
class Value{
public int i=5;
}
public class Test_1 {
public static void main(String argv[]){
Test_1 t=new Test_1();
t.first();
}
public void first(){
int i=5;
Value v=new Value();
v.i=25;
second(v,i);
System.out.print(v.i);
}
public void second(Value v, int i){
i=0;
v.i=20;
Value val=new Value();
v=val;
System.out.print(v.i+" "+i);
}
}
~~~
A. 15 0 20
B. 15 0 15
C. 20 0 20
D. 0 15 20
6. 下面哪一個interface的定義是錯誤的?
A.
~~~
interface interface1 extends interface2, interface3{
void undo(int i);
void process();
}
~~~
B.
~~~
interface interface1{
public void undo(int i);
}
~~~
C.
~~~
interface interface1{
String aa;
}
~~~
D.
~~~
interface interface1{
private String var;
process(){};
}
~~~
**前端開發**
1. Google Chrome瀏覽器對CSS的支持度和下面哪個瀏覽器基本一致:
A. IE7?? B. Firefox 3.1?? C. Opera 9.5?? D. Safari 3.1
2. 下面這段javascript代碼,
var msg='hello';
for (var i=0; i<10; i++){
var msg='hello'+i*2+i;
}
alert(msg);
最后一句alert的輸出結果是:
A. hello?? B. hello189?? C. hello30?? D. hello27
3. 下面哪個Hack屬性, IE7瀏覽器不能識別:
A. @color:red?? B. *color:red;?? C. _color:red;?? D. +color:red;
4. 請問在javascript程序中, alert(undefined==null)的輸出結果是:
A. undefined?? B. null?? C. true?? D. false
5. 根據下圖, 請您用符合Web語義的(X)HTML代碼書寫結構[此題目圖片懶得搞了, 反正這題也很簡單, 省略]
6. 請手寫一段javascript程序, 對數組[5, 1000, 6, 3, 8, 123, -12]按從小到大進行排序, 如果你有多種解法, 請闡述各種解法的思路及其優缺點.(僅需用代碼實現一種算法, 其他解法用文字闡述思路即可)
**網絡系統運維**
1、 在Linux系統中, 為找到文件try_grep含有以a字母為行開頭的內容, 可以使用命令:
A、grep -E #$ try_grep
B、grep -E #a try_grep
C、grep -E ^$ try_grep
D、grep -E ^a try_grep
^M?以M開頭的行,^表示開始的意思
M$?以M結尾的行,$表示結束的意思
2、在Linux系統中, 檢查硬盤空間使用情況應該使用什么命令?
**A、df**????????????? B、 du???????????? C、fd???????? ?? D、free
3、 ping命令使用的協議是:
**A、ICMP**????????????? ?B、IMAP???????????? C、POP????????????? ?D、 SNMP
4、以下設備中哪種最適合做網站負載均衡設備(Load Balance):
A、二層交換機???????????? ?B、 路由器????????????? ?C、四層交換機??????????? ?D、 防火墻
5、查看當前主機的網關配置地址是多少, 請將地址寫入到./ga.txt中。
6、修改當前目錄下的smb.conf, 將當前/etc目錄共享出去。
- 前言
- 程序員有趣的面試智力題
- 淘寶網 校園招聘 技術人員筆試題
- 網新恒天2011.9.21招聘會筆試題
- 淘寶2011.9.21校園招聘會筆試題
- 騰訊2011.10.15校園招聘會筆試題
- 網易游戲2011.10.15校園招聘會筆試題
- 百度2011.10.16校園招聘會筆試題
- 微策略2011校園招聘筆試題(找出數組中兩個只出現一次的數字)
- 百度最新面試題集錦
- C/C++筆試題目大全
- 各大IT公司校園招聘程序猿筆試、面試題集錦
- Trie樹詳解及其應用
- 后綴數組求最長重復子串
- 海量數據隨機抽樣問題(蓄水池問題)
- 搜狐2012.9.15校園招聘會筆試題
- 搜狗2012.9.23校園招聘會筆試題
- Google2012.9.24校園招聘會筆試題
- 優酷土豆2012.9.12校園招聘會筆試題