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