- 相關(guān)推薦
不同公司面試筆試題目
阿里巴巴B2B一面
1、通配符的含義
2、死鎖的基本知識(shí)——死鎖是各大筆試面試中出現(xiàn)率50%的知識(shí)點(diǎn)
3、信號(hào)量P、V原語的相關(guān)知識(shí)點(diǎn)
4、有向圖的鄰接表表示
阿里巴巴B2B二面
1、各種排序算法的比較次數(shù)
2、static、auto未初始化的初始值
http://blog.csdn.net/hackbuteer1/article/details/7487694
3、x*=y+8,給出x,y的值,求該表達(dá)式計(jì)算后二者的值
4、enum類型的default賦值規(guī)則
5、定義函數(shù)F(int x){return (x*x);} 求F(3+5)
6、fgets(s,n,f)函數(shù)的功能
7、定義*s="ab\0cdef",輸出該字符可以看到什么結(jié)果
8、還是static相關(guān)知識(shí)——在此說明一下static這個(gè)關(guān)鍵字相當(dāng)重要,在筆試中出現(xiàn)率為100%,在面試中出現(xiàn)率為50%。
9、數(shù)據(jù)庫中索引,簇索引,非簇,唯一,復(fù)合,覆蓋索引的區(qū)別
10、SQL語句和范式是對(duì)數(shù)據(jù)庫有要求的公司筆試必考點(diǎn)之一
5、STL中迭代器的工作原理,迭代器與普通指針有什么區(qū)別?
迭代器和指針相同的地方:
1、指針和iterator都支持與整數(shù)進(jìn)行+,-運(yùn)算,而且其含義都是從當(dāng)前位置向前或者向后移動(dòng)n個(gè)位置
2、指針和iterator都支持減法運(yùn)算,指針-指針得到的是兩個(gè)指針之間的距離,迭代器-迭代器得到的是兩個(gè)迭代器之間的距離
3、通過指針或者iterator都能夠修改其指向的元素
通過上面這幾點(diǎn)看,兩者真的很像,但是兩者也有著下面的幾個(gè)不同地方
1、out操作符可以直接輸出指針的值,但是對(duì)迭代器進(jìn)行在操作的時(shí)候會(huì)報(bào)錯(cuò)。通過看報(bào)錯(cuò)信息和頭文件知道,迭代器返回的是對(duì)象引用而不是對(duì)象的值,所以cout只能輸出迭代器使用*取值后的值而不能直接輸出其自身。
2、指針能指向函數(shù)而迭代器不行,迭代器只能指向容器
這就說明了迭代器和指針其實(shí)是完全不一樣的概念來的。指針是一種特殊的變量,它專門用來存放另一變量的地址,而迭代器只是參考了指針的特性進(jìn)行設(shè)計(jì)的一種STL接口。
筆者曾在網(wǎng)上看到這樣一種說法:迭代器是廣義指針,而指針滿足所有迭代器要求。迭代器是STL算法的接口,而指針是迭代器,因此STL算法可以使用指針來對(duì)基于指針的非STL容器進(jìn)行操作。
筆者覺得上面說法也有幾分道理,但是到底正不正確就留給看官自己判斷了。但是有一點(diǎn)希望大家注意的是:千萬不要把指針和迭代器搞混了。也許某些編譯器使用指針來實(shí)現(xiàn)迭代器以至于有些人會(huì)誤以為指針和迭代器是一個(gè)概念來的。
6、什么是友元?
7、delete、new的用法
8、typename的用法
9、編程判斷一個(gè)數(shù)是否為2的冪
10、你怎樣重新改進(jìn)和設(shè)計(jì)一個(gè)ATM銀行自動(dòng)取款機(jī)?
12、10000Mbps萬兆交換機(jī)怎么實(shí)現(xiàn)?
13、操作符重載的相關(guān)知識(shí)點(diǎn),大題,具體記不清了
人民搜索的筆試題
1、打印漢諾塔移動(dòng)步驟,并且計(jì)算復(fù)雜度
2、計(jì)算兩個(gè)字符串的是否相似(字符的種類,和出現(xiàn)次數(shù)相同)
3、定義二叉樹,節(jié)點(diǎn)值為int,計(jì)算二叉樹中的值在[a,b]區(qū)間的節(jié)點(diǎn)的個(gè)數(shù)
4、動(dòng)態(tài)規(guī)劃題:一條路有k可坑,每次能跳平方數(shù)步長(1 4 9 16。。),不能跳到坑里,從a跳到b最少幾步?
5、給一個(gè)整數(shù)數(shù)組,求數(shù)組中重復(fù)出現(xiàn)次數(shù)大于數(shù)組總個(gè)數(shù)一半的數(shù)。
1、對(duì)以孩子兄弟鏈接的樹進(jìn)行遍歷,不能用遞歸,也不能借助任何輔助空間
2、假設(shè)數(shù)組B是升序Int數(shù)組A循環(huán)移若干得到的位,實(shí)現(xiàn)對(duì)數(shù)組B進(jìn)行查找的高效算法
3、只有整數(shù)和+-*/四種運(yùn)算組成的算術(shù)表達(dá)書,實(shí)現(xiàn)其求值
4、還有一個(gè)是考貪心算法的,你讓他們看算法導(dǎo)論那本書,關(guān)于fractional knapsack problem的那一段,就是0-1背包的一種變形;
5、鏈表相鄰元素翻轉(zhuǎn),如a->b->c->d->e->f-g,翻轉(zhuǎn)后變?yōu)椋篵->a->d->c->f->e->g
6、求正整數(shù)n所有可能的和式的組合(如;4=1+1+1+1、1+1+2、1+3、2+1+1、2+2)
1、實(shí)現(xiàn)一個(gè)atoi函數(shù)==>'注意正負(fù)號(hào)的判定'
2、翻轉(zhuǎn)一個(gè)句子,其中單詞是正序的==>兩次旋轉(zhuǎn)
3、二叉樹兩個(gè)結(jié)點(diǎn)中的最小公共子結(jié)點(diǎn)==>求長度,長度之差,遠(yuǎn)的先走,再一起走
4、三角陣中從第一行到最后一行(給出搜索方向的限制)找一個(gè)連續(xù)的最大和==>廣度優(yōu)先搜索√
5、實(shí)現(xiàn)一個(gè)STL中的vector中的盡量多的方法。
6、字符串移動(dòng)(字符串為*號(hào)和26個(gè)字母的任意組合,把*號(hào)都移動(dòng)到最左側(cè),把字母移到最右側(cè)并保持相對(duì)順序不變),要求時(shí)間和空間復(fù)雜度最小。
void Arrange(char *str , int n)
{
int i , k = n-1;
for(i = n - 1 ; i >= 0 ; --i)
{
if(str[i] != '*')
{
if(str[k] == '*')
{
str[k] = str[i];
str[i] = '*';
}
--k;
}
}
}
7、說說outer join、inner join、left join、right join的區(qū)別是什么?
內(nèi)連接:進(jìn)行連接的兩個(gè)表對(duì)應(yīng)的相匹配的字段完全相同的連接。join
外連接又分為左外連接和右外連接。
左連接即LEFT OUTER JOIN:
兩個(gè)表進(jìn)行左連接時(shí)會(huì)返回左邊表中的所有的行和右邊表中與之相匹配的列值沒有相匹配的用空值代替。
右連接即RIGHT OUTER JOIN:
兩個(gè)表進(jìn)行右連接時(shí)會(huì)返回右邊表中的所有的行和左邊表中與之相匹配的列值沒有相匹配的用空值代替。
【不同公司面試筆試題目】相關(guān)文章:
面試筆試題目及答案08-06
微軟10道筆試面試題目08-10
2017年Java面試筆試題目09-26
2017中興面試必考的筆試題目09-25
機(jī)械筆試題目08-10
國泰金融筆試題目09-26
文案策劃筆試題目11-09
筆試題目考邏輯性題目09-26
2017文員常見面試筆試題目09-25