筆試的內(nèi)容不是很難,下面是一些記錄:
選擇題:
1.兩個長度各為N的有序數(shù)組進行合并,求可能的最多的比較次數(shù),(2n-1)
2.兩個長度為N的有序數(shù)組,要求在這兩個數(shù)組中排第N的元素,最小的時間復(fù)雜度? ( O(logn),類似二分搜索)
3.逆波蘭表達式求值,(竟然畫了很久的后綴表達式?jīng)]畫出來,真杯具。。直接求值就行了)
4.一個關(guān)于二叉樹的問題,大意是要在二叉樹查找某個元素,求選項給出的查找序列哪個不可能出現(xiàn)?(考察二叉樹的性質(zhì))
5.excell的列表示如AB...Z, AA AB ....ZZ, AAA AAB .... ZZZ, 求DEF的十進制值(求26進制的值,直接計算)
6.函數(shù)指針數(shù)組的寫法問題。。
7.虛函數(shù)問題,大意是基類定義了一個保護成員,構(gòu)造函數(shù)初始化為0,還定義了一個虛函數(shù),基類是將成員--,而子類只重定義了虛函數(shù),將成員++,主函數(shù)里,new了一個子類對象,然后定義一個基類指針指向此對象,又定義了一個基類引用指向此基類指針指向的對象,然后分別調(diào)用了虛函數(shù),要求基類定義的成員的值。
8.給出一段程序,要求輸出值,直接計算。程序里計算字符數(shù)組 char a[]={'a','b','c'}的長度采用sizeof(a)/sizeof(a[0])的方法。
9.指出給出選項中不可能存儲在棧中的是。。。(全局靜態(tài)變量,放在靜態(tài)區(qū)中)
10.給出char *p="hello world", char a[]="byebye",strncpy(p,a,6),問這個程序運行后p的結(jié)果是什么?(這里*p是一個字符串常量,不能對它的元素進行修改,所以程序在運行時會出錯)
主觀題編程題:
大意是給出一個數(shù)組,這個數(shù)組每個元素都不同,并且可能是升序的,或者是升序+旋轉(zhuǎn)后的結(jié)果,例如1,2,3,4,5,或者 4,5,1,2,3 或者 3,4,5,1,2等等,
然后給一個數(shù),要找出這個數(shù)在所給數(shù)組中的索引值或者返回-1,要求復(fù)雜度必須小于o(n)。
相對比較簡單吧,首先是判斷是否是從左到右有升序的,若是,則用二分查找,復(fù)雜度為o(logn),如果不是,則根據(jù)要找的值與第一個值比較的結(jié)果,在左半部分或右半部分查找這個數(shù),易知,查找次數(shù)肯定小于n,因而復(fù)雜度符合要求。
第二個小題是要給出一些測試數(shù)據(jù)并加以說明。
正式找工的第一場面試,不是很順利,特此記錄,攢下RP, ^.^