第一部部分的選擇題既有智力題也有計算機基礎知識題還有編程語言題。
1.7×(1/7) = 1是什麼率?
's database view?
3.4*(3*2) = (4*3)*2是什麼率?
EF六城市兩兩相連,問從A到B經過其他城市有且只有一次的路徑有多少個?
9.對代碼中syntax進行分析用到的什麼文法?
10.問要進行stable的sorting,會避免使用哪種算法?
17.0.15625寫成二進制是什麼
18.問1,2,3,5,8,13...這個數列,第58個除以第57個得多少?1.618
19.問關於fopen(“w”)的問題(主要是覆蓋而不是追加)
20.問一連串cat和sort命令後輸出
22.問RAID0的作用
23.火星上到處是硬幣,隨便拿起一個,如果是頭朝上的就翻成字朝上的`,如果是字朝上的就拋出,落地後有各一半的機會頭朝上或字朝上。再隨便拿起包括剛纔那個在內的所有硬幣中的一個,重複前述步驟。問,很多很多次後字朝上和頭朝上的硬幣比例?2:1
24.問RAID5的作用
25.麥當勞有6塊9塊20塊雞的袋子,問大於等於N塊的雞都能正好用前述袋子裝走的最小N是多少?44
26.問又要考慮安全又要充分利用帶寬的網絡中,是先加密後壓縮,還是先壓縮後加密?
27.問要使一羣人存在2人同月出生概率不低於50%的最小人數是多少?5
28.c++中不可重載的運算符是?(?:)
不存在那個層?(secure layer)
主要體會是,一些基礎知識平時要注意積累,特別是面向對象、RAIN、網絡,很多筆試都有考到,智力題的話注意積累經驗。
第三部分是三道程序題。要求至少答兩道,有時間也可以答三道。
1.寫一個畫圓的函數
int drawCircle(int x, int y, int radius);
要求:要讓圓看起來連續圓滑,要畫多餘4×radius個點。
畫點使用int drawPoint(int x,int y)函數
2.寫出一段c++程序的輸出。主要考察重載、多態、繼承
class A
{
A() { cout << "A::A" << endl; }
~A(){ cout << "A::~A"<< endl; }
virtual f1() { cout << "A::f1" << endl; }
f2() { cout << "A::f2" << endl; }
};
class B: public A
{
B() { cout << "B::B" << endl; }
~B(){ cout << "B::~B"<< endl; }
f1() { cout << "B::f1" << endl; }
f2() { cout << "B::f2" << endl; }
};
class C: public C
{
C() { cout << "C::C" << endl; }
~C(){ cout << "C::~C"<< endl; }
f1() { cout << "C::f1" << endl; }
f2() { cout << "C::f2" << endl; }
};
main()
{
C c;
A *p = &c;
c.f1();
c.f2();
p->f1();
p->f2();
p = new C();
delete p;
}
(主要是子類實例定義是父類生成函數的調用順序、清理時撤銷函數的調用順序,重載和多態的區別,還有就是棧上變量在函數退出時的清理,比如c在main函數退出時自動清理,要調用撤銷函數)
3.函數聲明如下
int func(int i ,int N);
其中i <= N,功能輸出i遞增到N再遞減到i的整數,每行輸出一個數。比如func(1,5)就是
1
2
3
4
5
4
3
2
1
要求是隻用一條語句(函數體就一個分號)完成功能。要求:
不能有逗號,不能有新變量聲明,不能用?:,不能用循環,不能用char int 什麼什麼的保留字符
我寫的是
int func(int i ,int N)
{
reutrn printf("%dn",i) + ((N-i)!=0&&(func(i+1,N) + printf("%dn",i)));