第一篇:2012年最新C和C++程序員筆試題
以下是整理自8月下旬至10月份內(nèi)的各大公司的筆試面試三十題(注:所有題目基本上全部為軟件開發(fā)方向,題目來源:網(wǎng)絡(luò)收集),相信一定能給正在參加各種校招的諸多朋友多少幫助,學(xué)習(xí)參考或借鑒
九月十月百度人搜,阿里巴巴,騰訊華為小米搜狗筆/面試五十題
9月11日,京東:
談?wù)勀銓γ嫦驅(qū)ο缶幊痰恼J(rèn)識
? 8月20日,金山面試,題目如下:
數(shù)據(jù)庫1中存放著a類數(shù)據(jù),數(shù)據(jù)庫2中存放著以天為單位劃分的表30張(比如table_20110909,table_20110910,table_20110911),總共是一個月的數(shù)據(jù)。表1中的a類數(shù)據(jù)中有一個字段userid來唯一判別用戶身份,表2中的30張表(每張表結(jié)構(gòu)相同)也有一個字段userid來唯一識別用戶身份。如何判定a類數(shù)據(jù)庫的多少用戶在數(shù)據(jù)庫2中出現(xiàn)過? 百度實習(xí)筆試題(2012.5.6)
簡答題1
一個單詞單詞字母交換,可得另一個單詞,如army->mary,成為兄弟單詞。提供一個單詞,在字典中找到它的兄弟。描述數(shù)據(jù)結(jié)構(gòu)和查詢過程。評點:同去年9月份的一道題,見此文第3題:簡答題2 線程和進程區(qū)別和聯(lián)系。什么是“線程安全”
簡答題3
C和C++怎樣分配和釋放內(nèi)存,區(qū)別是什么
算法題1
一個url指向的頁面里面有另一個url,最終有一個url指向之前出現(xiàn)過的url或空,這兩種情形都定義為null。這樣構(gòu)成一個單鏈表。給兩條這樣單鏈表,判斷里面是否存在同樣的url。url以億級計,資源不足以hash。
算法題2
數(shù)組al[0,mid-1] 和 al[mid,num-1],都分別有序。將其merge成有序數(shù)組al[0,num-1],要求空間復(fù)雜度O(1)系統(tǒng)設(shè)計題
百度搜索框的suggestion,比如輸入北京,搜索框下面會以北京為前綴,展示“北京愛情故事”、“北京公交”、“北京醫(yī)院”等等搜索詞。
如何設(shè)計使得空間和時間復(fù)雜度盡量低。評點:老題,直接上Trie樹+Hash,Trie樹的介紹見:從Trie樹(字典樹)談到后綴樹。
? ? 人搜筆試
1.快排每次以第一個作為主元,問時間復(fù)雜度是多少?(O(N*logN))
2.T(N)= N + T(N/2)+T(2N), 問T(N)的時間復(fù)雜度是多少? 點評:O(N*logN)or O(N)? 3.從(0,1)中平均隨機出幾次才能使得和超過1?(e)4.編程題:
一棵樹的節(jié)點定義格式如下: struct Node{ Node* parent;Node* firstChild;// 孩子節(jié)點 Node* sibling;// 兄弟節(jié)點 } 要求非遞歸遍歷該樹。
思路:采用隊列存儲,來遍歷節(jié)點。5.算法題:
有N個節(jié)點,每兩個節(jié)點相鄰,每個節(jié)點只與2個節(jié)點相鄰,因此,N個頂點有N-1條邊。每一條邊上都有權(quán)值wi,定義節(jié)點i到節(jié)點i+1的邊為wi。求:不相鄰的權(quán)值和最大的邊的集合。? 人搜面試,所投職位:搜索研發(fā)工程師:面試題回憶
1、刪除字符串開始及末尾的空白符,并且把數(shù)組中間的多個空格(如果有)符轉(zhuǎn)化為1個。
2、求數(shù)組(元素可為正數(shù)、負數(shù)、0)的最大子序列和。
3、鏈表相鄰元素翻轉(zhuǎn),如a->b->c->d->e->f-g,翻轉(zhuǎn)后變?yōu)椋篵->a->d->c->f->e->g
4、鏈表克隆。鏈表的結(jié)構(gòu)為: typedef struct list { int data;//數(shù)據(jù)字段
list *middle;//指向鏈表中某任意位置元素(可指向自己)的指針 list *next;//指向鏈表下一元素 } list;5、100萬條數(shù)據(jù)的數(shù)據(jù)庫查詢速度優(yōu)化問題,解決關(guān)鍵點是:根據(jù)主表元素特點,把主表拆分并新建副表,并且利用存儲過程保證主副表的數(shù)據(jù)一致性。(不用寫代碼)
6、求正整數(shù)n所有可能的和式的組合(如;4=1+1+1+1、1+1+2、1+3、2+1+1、2+2)。?
7、求旋轉(zhuǎn)數(shù)組的最小元素(把一個數(shù)組最開始的若干個元素搬到數(shù)組的末尾,我們稱之為數(shù)組的旋轉(zhuǎn)。輸入一個排好序的數(shù)組的一個旋轉(zhuǎn),輸出旋轉(zhuǎn)數(shù)組的最小元素。例如數(shù)組{3, 4, 5, 1, 2}為{1, 2, 3, 4, 5}的一個旋轉(zhuǎn),該數(shù)組的最小值為1)
8、找出兩個單鏈表里交叉的第一個元素
9、字符串移動(字符串為*號和26個字母的任意組合,把*號都移動到最左側(cè),把字母移到最右側(cè)并保持相對順序不變),要求時間和空間復(fù)雜度最小
10、時間復(fù)雜度為O(1),怎么找出一個棧里的最大元素
11、線程、進程區(qū)別
12、static在C和C++里各代表什么含義
13、const在C/C++里什么意思
14、常用linux命令
15、解釋Select/Poll模型 ? 網(wǎng)易有道二面:
判斷一個數(shù)字序列是BST后序遍歷的結(jié)果,現(xiàn)場寫代碼。
? 8月30日,網(wǎng)易有道面試題
var tt = 'aa';function test(){ alert(tt);var tt = 'dd';alert(tt);} test();? ? 8月31日,百度面試題:不使用隨機數(shù)的洗牌算法,9月6日,阿里筆試題:平面上有很多點,點與點之間有可能有連線,求這個圖里環(huán)的數(shù)目。
?? 9月7日,一道華為上機題:
題目描述: 選秀節(jié)目打分,分為專家評委和大眾評委,score[] 數(shù)組里面存儲每個評委打的分?jǐn)?shù),judge_type[] 里存儲與 score[] 數(shù)組對應(yīng)的評委類別,judge_type == 1,表示專家評委,judge_type == 2,表示大眾評委,n表示評委總數(shù)。打分規(guī)則如下:專家評委和大眾評委的分?jǐn)?shù)先分別取一個平均分(平均分取整),然后,總分 = 專家評委平均分 * 0.6 + 大眾評委 * 0.4,總分取整。如果沒有大眾評委,則 總分 = 專家評委平均分,總分取整。函數(shù)最終返回選手得分。
函數(shù)接口 int cal_score(int score[], int judge_type[], int n)
上機題目需要將函數(shù)驗證,但是題目中默認(rèn)專家評委的個數(shù)不能為零,但是如何將這種專家數(shù)目為0的情形排除出去。
9月8日,騰訊面試題:
假設(shè)兩個字符串中所含有的字符和個數(shù)都相同我們就叫這兩個字符串匹配,比如:abcda和adabc,由于出現(xiàn)的字符個數(shù)都是相同,只是順序不同,所以這兩個字符串是匹配的。要求高效!
又是跟上述第3題中簡單題一的兄弟節(jié)點類似的一道題,我想,你們能想到的,?? 阿里云,搜索引擎中5億個url怎么高效存儲;
?? 一道C++筆試題,求矩形交集的面積:
在一個平面坐標(biāo)系上,有兩個矩形,它們的邊分別平行于X和Y軸。
其中,矩形A已知,ax1(左邊), ax2(右邊), ay1(top的縱坐標(biāo)), ay2(bottom縱坐標(biāo)).矩形B,類似,就是 bx1, bx2, by1, by2。這些值都是整數(shù)就OK了。要求是,如果矩形沒有交集,返回-1,有交集,返回交集的面積。int area(rect const& a, rect const& b){...} 點評: healer_kx:
補齊代碼,最好是簡潔的,別用庫。你可以寫你的輔助函數(shù),宏定義,代碼風(fēng)格也很重要。ri_aje:struct rect ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? {
// axis alignment assumed // bottom left is(x[0],y[0]), top right is(x[1],y[1])double x [2];double y [2];};
template
// return type changed to handle non-integer rects double area(rect const& a, rect const& b){
// perfectly adjacent rects are considered having an intersection of 0 area double const dx = min(a.x[1],b.x[1])max(a.y[0],b.y[0]);return dx>=0&&dy>=0 ? dx*dy :-1;?? } ?? 下面是一個簡短的證明。
對于平行于坐標(biāo)軸的矩形 r,假設(shè)其左下角點坐標(biāo)為(rx0,ry0),右上角點坐標(biāo)為(rx1,ry1),那么由 r 定義的無限有界點集為:{(x,y)|x in [rx0,rx1] && y in [ry0,ry1]}。
根據(jù)交集的定義,則任意二維點(x,y)在矩形 a,b 的交集內(nèi)等價于 {(x,y)|(x,y)in a 并且(x,y)in b} <==>
{(x,y)|x in [ax0,ax1] && x in [bx0,bx1] 并且 y in [ay0,ay1] && y in [by0,by1]} <==> {(x,y)|x in [max(ax0,bx0),min(ax1,bx1)] 并且 y in [max(ay0,by0),min(ay1,by1)]}
因此,交集矩形的邊長分別為 min(ax1,bx1)-max(ax0,bx0)和 min(ay1,by1)-max(ay0,by0)。注意當(dāng)交集為空時(a,b 不相交),則經(jīng)此法計算出來的交集邊長為負值,此事實可用于驗證 a,b 的相交性。
鑒于笛卡爾積各個維度上的不相關(guān)性,此方法可擴展到任意有限維線性空間,比如,三維空間中平行于坐標(biāo)軸的長方體的交集體積可以用類似的方法計算。
?? 2012年創(chuàng)新工場校園招聘最后一道筆試題:工場很忙
創(chuàng)新工場每年會組織同學(xué)與項目的雙選會,假設(shè)現(xiàn)在有M個項目,編號從1到M,另有N名同學(xué),編號從1到N,每名同學(xué)能選擇最多三個、最少一個感興趣的項目。選定之后,HR會安排項目負責(zé)人和相應(yīng)感興趣的同學(xué)一對一面談,每次面談持續(xù)半小時。由于大家平時都很忙,所以咱們要盡量節(jié)約時間,請你按照以下的條件設(shè)計算法,幫助HR安排面試。
1)同學(xué)很忙。項目負責(zé)人一次只能與一名同學(xué)面談,而同學(xué)會在自己第一個面試開始時達到工場,最后一個面試結(jié)束后離開工場,如果參加一個項目組的面試后不能立即參加下一個項目組的面試,就必須在工場等待。所以請盡可能讓同學(xué)的面試集中在某一時間段,減少同學(xué)在工場等待的時間。
2)項目負責(zé)人很忙。眾所周知,創(chuàng)業(yè)團隊的負責(zé)人會有很多事情要做,所以他們希望能夠?qū)⒆约簠⑴c的面試集中在某一段時間內(nèi),請在保證1)的情況下,使得項目負責(zé)人等待的時間最少。
3)HR很忙。從第一輪面試開始以后,所有HR都必須等到最后一輪面試結(jié)束,所以需要在保證1)和2)的同時,也能盡快解放掉所有的HR,即讓第一輪面試到最后一輪面試之間持續(xù)的時間最短。
輸入(以文件方式輸入,文件名為iw,例如iw.in):
第1行...第n行:同學(xué)的編號 項目的編號
樣例(數(shù)據(jù)間用空格隔開,兩個0表示輸入結(jié)束):
112
0 0
表示M=3,N=3,編號為1的同學(xué)選擇了項目1,2和3,編號為2的同學(xué)選擇了項目1,編號為3的同學(xué)選了項目1和2
輸出(以文件方式輸出,文件名為iw,例如iw.out):
第1行:編號為1的項目依次面試新同學(xué)的編號序列
第2行:編號為2的項目依次面試新同學(xué)的編號序列...第n行:編號為n的項目依次面試新同學(xué)的編號序列
樣例(數(shù)據(jù)間用空格隔開,0表示沒有面試):3 21 0 0 0 1
表示編號為1的項目在第一輪面試編號為1的同學(xué),第二輪面試編號為3的同學(xué),第三輪面試編號為2的同學(xué)
編號為2的項目在第一輪面試編號為3的同學(xué),第二輪面試編號為1的同學(xué),第二輪不用面試
編號為3的項目在第一輪和第二輪都不用面試,第三輪面試編號為1的同學(xué)
4**9 的筆試題,比較簡單: 1.求鏈表的倒數(shù)第二個節(jié)點
2.有一個整數(shù)數(shù)組,求數(shù)組中第二大的數(shù) 阿里巴巴二道題 第一道:
對于給定的整數(shù)集合S,求出最大的d,使得a+b+c=d。a,b,c,d互不相同,且都屬于S。集合的元素個數(shù)小于等于2000個,元素的取值范圍在[-2^28,2^281)^2)。最后我給出了一個巧妙的證明。然后發(fā)現(xiàn)如果是m*n的矩陣也是類似的答案,不局限于方陣。此外,題目具體描述可以看看這里:
?? 9月27日,小米兩面:
一面:
除了聊研究,就一道題
數(shù)組里找到和最接近于0的兩個值。二面:
行列有序的矩陣查找一個數(shù)
直方圖最大矩形。點評:這里有此題的具體表述及一份答案: 3 next_permutation 字符串匹配 含有* ?(寫代碼)
實現(xiàn)strcpy memmove(必須寫代碼)//void * memmove(void * destination, const void * source, size_t num);)?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? //是
//最簡單的方法是直接復(fù)制,但是由于它們可能存在內(nèi)存的重疊區(qū),因此可能覆蓋了原有數(shù)據(jù)。//比如當(dāng)source+count>=dest&&source //解決辦法是從后往前拷貝。//對于其它情況,則從前往后拷貝。 void* memmove(void* dest, void* source, size_t count){ void* ret = dest; if(dest <= source || dest >=(source + count)){ //正向拷貝 //copy from lower addresses to higher addresses while(count--)*dest++ = *source++;} else { //反向拷貝 //copy from higher addresses to lower addresses dest += count1;?? ?? ?? ?? ?? while(count--)*dest--= *source--;} return ret;} ?? 6 讀數(shù)(千萬億,百萬億??)變?yōu)閿?shù)字(說思路即可,字符串查找,填寫各個權(quán)值的字段,然后判斷是否合法,讀前面那些×權(quán)值,累加)。?? 9月27日,Hulu 2013北京地區(qū)校招筆試題 填空題: 1、中序遍歷二叉樹,結(jié)果為ABCDEFGH,后序遍歷結(jié)果為ABEDCHGF,那么前序遍歷結(jié)果為? 2、對字符串HELL0_HULU中的字符進行二進制編碼,使得字符串的編碼長度盡可能短,最短長度為? 3、對長度12的有序數(shù)組進行二分查找,目標(biāo)等概率出現(xiàn)在數(shù)組的每個位置上,則平均比較次數(shù)為? 4、一副撲克(去王),每個人隨機的摸兩張,則至少需要多少人摸牌,才能保證有兩個人抽到同樣的花色。 5、x個小球中有唯一一個球較輕,用天平秤最少稱量y次能找出這個較輕的球,寫出y和x的函數(shù)表達式y(tǒng)=f(x)6、3的方冪及不相等的3的方冪的和排列成遞增序列1,3,4,9,10,12,13??,寫出數(shù)列第300項 7、無向圖G有20條邊,有4個度為4的頂點,6個度為3的頂點,其余頂點度小于3,則G有多少個頂點 8、桶中有M個白球,小明每分鐘從桶中隨機取出一個球,涂成紅色(無論白或紅都涂紅)再放回,問小明將桶中球全部涂紅的期望時間是? 9、煤礦有3000噸煤要拿到市場上賣,有一輛火車可以用來運煤,火車最多能裝1000噸煤,且火車本身需要燒煤做動力,每走1公里消耗1噸煤,如何運煤才能使得運到市場的煤最多,最多是多少? 10、1,2,3,4?..n,n個數(shù)進棧,有多少種出棧順序,寫出遞推公式(寫出通項公式不得分) 11、宇宙飛船有100,000位的存儲空間,其中有一位有故障,現(xiàn)有一種Agent可以用來檢測故障,每個Agent可以同時測試任意個位數(shù),若都沒有故障,則返回OK,若有一位有故障,則失去響應(yīng)。如果有無限多個Agent可供使用,每個Agent進行一次檢測需要耗費1小時,現(xiàn)在有2個小時時間去找出故障位,問最少使用多少個Agent就能找出故障。 (總共12道填空題,還有一道太復(fù)雜,題目很長,還有示意圖,這里沒有記錄下來)大題: 1、n個數(shù),找出其中最小的k個數(shù),寫出代碼,要求最壞情況下的時間復(fù)雜度不能高于O(n logk) 2、寫程序輸出8皇后問題的所有排列,要求使用非遞歸的深度優(yōu)先遍歷 3、有n個作業(yè),a1,a2?..an,作業(yè)aj的處理時間為tj,產(chǎn)生的效益為pj,最后完成期限為dj,作業(yè)一旦被調(diào)度則不能中斷,如果作業(yè)aj在dj前完成,則獲得效益pj,否則無效益。給出最大化效益的作業(yè)調(diào)度算法。?? 有道的一個筆試題,1-9,9個數(shù)組成三個三位數(shù),且都是完全平方數(shù)(三個三位數(shù) 占據(jù) 9個數(shù))求解法。?? 點評@林晚楓&歸云見鴻:(a*10+b)(a*10+b)100a^2+20ab+b^2 a 屬于 [1,2,3] a=3,b=1 31 961, a=2,b=3 23 529 400+40b+b^2 25 625 27 729 28 784 29 841 a=1,b=3 13 169 100+20b+b^2 14 196 16 256 17 289 18 324 19 361 =>最終唯一解 529 784 361 具體代碼如下(3個for循環(huán),然后hash): ?? 9月28日,大眾點評北京筆試題目: 1.一個是跳臺階問題,可以1次一級,1次兩級,1次三級,求N級的跳法一共多少種? 點評:老題,?? 2.一個文件有N個單詞,每行一個,其中一個單詞出現(xiàn)的次數(shù)大于N/2,怎么樣才能快速找出這個單詞? 點評:還是老題,?? 大眾點評前面還有30道邏輯題,15道文字推理,15道數(shù)學(xué)推理,一共只給20min。?? 9月28日,網(wǎng)易筆試題: 1、英雄升級,從0級升到1級,概率100%。 從1級升到2級,有1/3的可能成功;1/3的可能停留原級;1/3的可能下降到0級; 從2級升到3級,有1/9的可能成功;4/9的可能停留原級;4/9的可能下降到1級。每次升級要花費一個寶石,不管成功還是停留還是降級。求英雄從0級升到3級平均花費的寶石數(shù)目。 點評:題目的意思是,從第n級升級到第n+1級成功的概率是(1/3)^n(指數(shù)),停留原級和降級的概率一樣,都為[1-(1/3)^n]/2)。 2、將一個很長的字符串,分割成一段一段的子字符串,子字符串都是回文字符串。有回文字符串就輸出最長的,沒有回文就輸出一個一個的字符。例如: habbafgh 輸出h,abba,f,g,h。 點評:一般的人會想到用后綴數(shù)組來解決這個問題,?? 10月9日,騰訊一面試題: 有一個log文件,里面記錄的格式為: QQ號: 時間: flag: 如123456 14:00:00 0 123457 14:00:01 1 其中flag=0表示登錄 flag=1表示退出 問:統(tǒng)計一天平均在線的QQ數(shù)。 點評:第8題后的騰訊面試題,讀者可以參看之。 ?? 10月9日,騰訊面試題: 1.有一億個數(shù),輸入一個數(shù),找出與它編輯距離在3以內(nèi)的書,比如輸入6(0110),找出0010等數(shù),數(shù)是32位的。2.每個城市的IP段是固定的,新來一個IP,找出它是哪個城市的,設(shè)計一個后臺系統(tǒng)。?? 10月9日,YY筆試題: 輸出一個字符串中沒有重復(fù)的字符。如“baaca”輸出“bac”。對于一個多叉樹,設(shè)計TreeNode節(jié)點和函數(shù),返回先序遍歷情況下的下一個節(jié)點。函數(shù)定義為TreeNode* NextNode(TreeNode* node)3 分割字符串。 對于一個字符串,根據(jù)分隔符seperator,把字符串分割,如果存在多個分隔符連在一起,則當(dāng)做一個分隔符。如果分隔符出現(xiàn)在“ ”符號之間,則不需要分割“ ”之間的字符。比如a++abc,分隔符為+,輸出a abc a+“hu+” 輸出a hu+ a++“HU+JI 輸出a ”HU JI。 請根據(jù)上述需求完成函數(shù):void spiltString(string aString,char aSeperator)。?? 10月9日,趕集網(wǎng)筆試 ?? 10月9日,阿里巴巴2013校園招聘全套筆試題(注:下圖中所標(biāo)答案不代表標(biāo)準(zhǔn)答案,有問題,歡迎留言評論) 上述第15題,填空:lower+(upper-lower)/2 lower mid upper 0 6 12 7 9 12 7 7 8 8 8 8 比較4次 上述第16題,解答如下圖所示: 上述第17題,解答如下圖所示: 18、甲包8個紅球 2個藍球,乙包2個紅球 8個藍球。拋硬幣決定從哪個包取球,取了11次,7紅4藍。注,每次取后還放進去,只拋一次硬幣。問選的是甲包的概率? 點評: 貝葉斯公式 + 全概率公式作答(參看鏈接:http://)。具體解答如下圖所示: 注:上述第15~18的解答全部來自讀者Lei Lei來信給出的解答,特此感謝。有任何問題,歡迎隨時討論&指正,同時,更歡迎其他朋友也一起來做這些題目(你的答案一經(jīng)選用,我可以根據(jù)你的要求,貼出你的個人主頁或微博地址或博客地址)。 19、已知一個n個元素的數(shù)組,第i個元素在排序后的位置在[i-k,i+k]區(qū)間,k< 10月10日,暴風(fēng)影音筆試: 都是非?;A(chǔ)的題目,這是其中一道:一個整數(shù)轉(zhuǎn)換成二進制后,問里面有多少個1。10月10日人人網(wǎng)面試題 第一面: 1、(1)++i 和 i++,那個效率高? (2)++++i,i++++,哪個是合法的? (3)實現(xiàn)int型的++i 和 i++操作。 2、一段程序,求輸出。(考察靜態(tài)變量和模版類) ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? int g = 0;template int main(){ ?? ?? ?? ?? ?? ?? ?? cout << B 3、(1)實現(xiàn)二進制轉(zhuǎn)十進制。 (2)如果有下面這種能直接求二進制轉(zhuǎn)十進制的代碼,是怎么實現(xiàn)的? binary<1>::value;// 結(jié)果為1 binary<11>::value;// 結(jié)果為3 4、volatile、explicit、mutable表示的含義。 5、求整形數(shù)組的一個子數(shù)組,使得該子數(shù)組所有元素的和的絕對值最大。 6、(1)寫求單鏈表是否有環(huán)的算法。(2)如果有環(huán),如何找出環(huán)的第一個結(jié)點。 7、實現(xiàn)單例模式。二面: 1、一個文本,一萬行,每行一個詞,統(tǒng)計出現(xiàn)頻率最高的前10個詞(詞的平均長度為Len)。并分析時間復(fù)雜度。 2、求數(shù)組中最長遞增子序列。 ?? 10月10日,網(wǎng)易2013校園招聘全套筆試題: ?? 10月10日,網(wǎng)易,數(shù)據(jù)挖掘工程師: 1,簡述你對數(shù)據(jù)與處理的認(rèn)識; 2,簡述你對中文分詞的理解,說明主要難點和常用算法; 3,常見的分類算法有哪些; 4,簡述K-MEANS算法; 5,設(shè)計一個智能的商品推薦系統(tǒng); 6,簡述你對觀點挖掘的認(rèn)識。其它題目同 點評:其它題目與上述第56題第一部分所述相同。 1.實現(xiàn)雙向鏈表刪除一個節(jié)點p,在節(jié)點p后插入一個節(jié)點,寫出這兩個函數(shù)。2.寫一個函數(shù),將其中的t都轉(zhuǎn)換成4個空格。3.Windows程序的入口是哪里?寫出Windows消息機制的流程。4.如何定義和實現(xiàn)一個類的成員函數(shù)為回調(diào)函數(shù)? 5.C++里面是不是所有的動作都是main()引起的?如果不是,請舉例。6.C++里面如何聲明const void f(void)函數(shù)為C程序中的庫函數(shù)? 7.下列哪兩個是等同的 int b;A const int* a = &b;B const* int a = &b;C const int* const a = &b;D int const* const a = &b;8.內(nèi)聯(lián)函數(shù)在編譯時是否做參數(shù)類型檢查? void g(base & b){ b.play;} void main(){ son s;g(s);return;} 深圳市九城恩科軟件技術(shù)有限公司 java程序員筆試題 JAVA 程序員筆試題 時間:30分鐘 試題一: 簡單描述一下什么是事務(wù)管理,事務(wù)管理中有哪些語句? 姓名: 試題二: 跳出當(dāng)前循環(huán)的關(guān)鍵詞是什么?繼續(xù)本次循環(huán)的關(guān)鍵詞是什么? 試題三: 在JSP頁面源代碼中寫 “${flag}”是代表什么意思? 試題四: 請寫出最少五種設(shè)計模式的名稱。 試題五: 請寫出Eclipse 中下列功能的快捷鍵: 刪除當(dāng)前行: 注釋當(dāng)前行: 代碼助手完成一些代碼的插入: 打開類型: 打開資源: 試題六: 什么情況下Eclipse不編譯生成Class文件? 深圳市九城恩科軟件技術(shù)有限公司 java程序員筆試題 試題七: public static void main(String[] args){ int i=3,j=16;do{ if(++i>=j--)continue;}while(i<9);System.out.println(“i=”+i+“;j=”+j);} 這段程序運行后輸出的結(jié)果是什么? 試題八: public class One { } public class Two extends One { } protected void printA(){System.out.println(“two A”);} private void printB(){System.out.println(“two B”);} public static void main(String[] args){ Two t = new Two();t.printAB();} protected void printA(){System.out.println(“one A”);} private void printB(){System.out.println(“one B”);} protected void printAB(){printA();printB();} 這段程序運行后輸出的結(jié)果是什么? 試題九: 有一個表 “表A” 中包含 “姓名”,“成績”兩個字段,請寫一個SQL語句查詢出“成績”大于60分的,“姓名”有重復(fù)的人的名字 試題十: 請寫一個方法實現(xiàn):傳入的一個大于10位的字符串,把字符串的最后兩位移動到字符串的第4位后面。 姓名:________________ 開始時間:________________(完成時間1個小時) 1、HTTP 協(xié)議里 GET和POST請求的區(qū)別 2、session與cookie的區(qū)別 3、數(shù)據(jù)庫中的事務(wù)是什么? 4、優(yōu)化MYSQL數(shù)據(jù)庫的方法,舉例說明。(多寫多得,可寫在反面) 5、PHP語句include和require的區(qū)別是什么 6、JS表單彈出對話框函數(shù)是什么?獲得輸入焦點函數(shù)是什么? 7、下面的PHP5程序的輸出值是什么? $num = 10; function multiply(){ $num = $num * 10; } multiply(); echo $num;?> 8、PHP檢測一個變量是否有設(shè)置的函數(shù)是什么? 9、談?wù)剬vc的認(rèn)識? 10、一個整數(shù)數(shù)組包含10個元素,未排好序 9,16,25,32,2,1,29,81,36,21 寫一個PHP程序,1)對數(shù)組進行排序 2)用二分法查找并輸出 20 這個數(shù)在數(shù)組中的序(序號從1開始,查找不到返回0),寫在反面 11、請寫一個PHP函數(shù)驗證電子郵件的格式是否正確 12、寫出Linux下 創(chuàng)建目錄、刪除目錄、刪除文件、查看指定目錄內(nèi)容、移動文件的命令,并舉例說明 13、CSS中margin和padding的區(qū)別 14、簡述ajax的原理 15、假設(shè)給你5臺服務(wù)器,請大致的描述一下,如何使用你所熟悉的軟件,搭建一個日PV 100萬左右的中型網(wǎng)站,包括數(shù)據(jù)庫、WEB服務(wù) Java程序員筆試題 說明:該份題目要求在1小時內(nèi)答完 1、工廠方法模式和抽象工廠模式的區(qū)別 2、jsp/servlet 中 forward, include, reDirect 之間的區(qū)別 3、JSP中的兩種include包含指令的區(qū)別與用法 4、ArrayList和Vector的區(qū)別,HashMap和Hashtable及HashSet的區(qū)別? 5、請說明在實際應(yīng)用中,java.sql 包中的Statement和PreparedStatement有何區(qū)別? 6、如何遍歷一個集合(collection),并在屏幕上打印出集合中的每個元素public void printStr (Collection cols){ } 7、寫一個方法,實現(xiàn)字符串的反轉(zhuǎn),例如:輸入abc,輸出cba PublicString reverseStr(String str){ //代碼 } 8、輸入為整數(shù)數(shù)組,請寫出如下的排序算法,使得數(shù)組data里面存儲的數(shù)字隨數(shù)組腳標(biāo)的增大而依 次增大,即越小的數(shù)字存儲的位置越靠前 Public void sort(int[]data){ } 9、用戶在JSP: input.jsp中輸入姓名和手機號碼,點”Done”按鈕來提交請求到一個/ 6 servlet:test.java。test.java將輸入的姓名和手機號碼存儲在文件store.txt里。 請寫出input.jsp, test.java的程序源碼,并在input.jsp和test.java中分別通過js和java代碼對輸入進行校驗,如果1)姓名項沒有填寫或者輸入的長度超過了20個字符2)手機號碼項沒有填寫,或者輸入了非數(shù)字的字符或者輸入的長度不是13位,則返回input.jsp,并給出相應(yīng)的錯誤提示。 10、有若干條有關(guān)城市的信息,每條包括如下屬性:ID(唯一遞增的序列),CITY(城市名稱),DESC(城市說明),要求設(shè)計一套數(shù)據(jù)結(jié)構(gòu)及算法使得1)所有登陸系統(tǒng)的用戶均能使用這些城市信息2)能夠根據(jù)城市ID 號或名稱獲得城市的其他信息3)如果從該數(shù)據(jù)結(jié)構(gòu)中找不到合適的城市信息,可以往該數(shù)據(jù)結(jié)構(gòu)中添加新的城市信息,但相同的城市(ID號或名稱有任意一個相同均認(rèn)為是同一城市)在數(shù)據(jù)結(jié)構(gòu)中只能有一條記錄 4)如任一條城市信息,超過兩個小時沒有被使用(查詢)則需自動將其刪除 pubic class CityCache{ } 11、讀下面一段程序,寫出運行結(jié)果 ---- pubicclassBaseClass{ static{ System.out.println(“aaaaa”);/ 6 } BaseClass(){ System.out.println(“11111”); } } publicclassDerivedClass extendsBaseClass{ static{ System.out.println(“bbbbb”); } DerivedClass(){ System.out.println(“22222”); } } publicclassStartRun { public static void main(String[ ] args){ DerivedClasssdc 1 = newDerivedClass(); dc1 = newDerivedClass(); } } 12、請寫出符合要求的sql 語句(假定數(shù)據(jù)庫為Oracle)。/ 6 現(xiàn)有數(shù)據(jù)表a,建表語句如下: create table a(bm char(4),——編碼 mc varchar2(20)——名稱) 表中數(shù)據(jù)如下 bmmc 11111111 11121111 11131111 11141111 要求1:用一條sql語句實現(xiàn)對表a中數(shù)據(jù)的復(fù)制,即達到如下的結(jié)果(2)bmmc 11111111 11121111 11131111 11141111 11111111 11121111 11131111 11141111/ 6 要求2:請刪除表中重復(fù)的記錄(bm和mc都相同的記錄為重復(fù)記錄) 13、classStack { LinkedListlist = new LinkedList() public synchronized void push(Objectx){ synchronized(list){ list.addLast(x); notify(); } } public synchronized Object pop(){ synchronized(list){ if(list.size()<=0) wait(); return list.removeLast(); } }/ 6 } 請問上面這個類中有什么錯誤?應(yīng)該怎么解決?14、15、請寫出MSSQL、ServerMysql和ORACE實現(xiàn)分頁算法的sql語句。UNIX和網(wǎng)絡(luò)基礎(chǔ),依次寫出完成下列的操作命令,最好有常用參數(shù)的簡單說明 1)如何顯示當(dāng)前的IP配置信息 2)查看當(dāng)前目錄 3)拷貝文件或目錄 4)移動文件或目錄 5)刪除文件或目錄 6)切換用戶 7)修改文件或目錄的權(quán)限 8)查看日志文件的最后1行 9)查看系統(tǒng)內(nèi)存、CPU的使用狀況 10)查看系統(tǒng)正在運行的和apache相關(guān)的進程/ 6第二篇:普天C++筆試題
第三篇:JAVA程序員筆試題
第四篇:PHP程序員筆試題
第五篇:Java程序員筆試題