2011-09-17面經(jīng)筆經(jīng)
一 微軟筆試
2011-09-17 微軟筆試
1.N個數(shù),范圍從-N到N,可能重復(fù),排序時間復(fù)雜度最好能到多少?
使用計數(shù)排序,因為題目中說明了只考慮時間復(fù)雜度。
2.編譯過程的哪個階段完成后會產(chǎn)生parse tree
語法分析階段
3.拷貝字符串當(dāng)src和dest有overlap時,memcpy memmove哪個是安全的
strcpy
extern char *strcpy(char *dest,char *src);
#include <string.h>
功能:把src所指由NULL結(jié)束的字符串復(fù)制到dest所指的數(shù)組中
說明:src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來容納src的字符串。
返回指向dest的指針
memcpy
extern void *memcpy(void *dest,void *src,unsigned int count);
#include <string.h>
功能:由src所指內(nèi)存區(qū)域復(fù)制count個字符串到dest所指內(nèi)存區(qū)域.
說明:src和dest所指內(nèi)存區(qū)域不能重疊,函數(shù)返回指向dest的指針.
void *memmove (void *dest, const void *src, size_t n);
從src所指向的對象復(fù)制n個字符到dest所指向的對象中。返回指針為dest的值。不會發(fā)生內(nèi)存重疊。
4.99!的階乘結(jié)果末尾0的個數(shù)
1到99 中,含有因子5的個數(shù)。
5.負(fù)數(shù)的補碼表示法、位運算
6.手動計算圖的最短路徑、5個結(jié)點二叉樹的不同異構(gòu)數(shù)
單源最短路徑。
7.F(1)=4,F(2)=4,F(N)=(F(N-1)+F(N-2))%5,求F(1024);
8.excel中列名的規(guī)則是A,B,.....Z,AA,AB.....AZ,BA......ZA........ZZ,AAA,AAB........請問10000列的列名?
9.算術(shù)表達(dá)式的前綴表達(dá)式
記住
10.如何判斷一個數(shù)是否是2的n次方。
n&&!(n&n-1)
11.抽象類是否產(chǎn)生虛表?
抽象類不會有實例,理論上說是不會有虛表的。但是打印sizeof(class) 結(jié)果為4.
class A
{
private:
virtual void test() = 0;
};
12 MVC 指的什么
model 后臺數(shù)據(jù)庫
view jsp
controller javbean servlet webservice