亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

UT斯達(dá)康筆試面試經(jīng)驗(yàn)

時(shí)間:2023-03-29 15:47:41 面試問(wèn)題 我要投稿
  • 相關(guān)推薦

UT斯達(dá)康筆試面試經(jīng)驗(yàn)

一篇來(lái)自網(wǎng)友的UT斯達(dá)康筆試面試經(jīng)驗(yàn),看完后受益良多……
   7月17號(hào)去的UTS軟件部門(mén)面試,至今已半月,很想把心得寫(xiě)出來(lái)大家共享,今天終于抽出空來(lái)了。
一.compile和link哪個(gè)先哪個(gè)后,生成文件的格式分別是什么?.
二.字符串比較是哪個(gè)函數(shù),兩個(gè)串比較后大于和小于的返回值分別是什么?
原型:extern int strcmp(char *s1,char * s2);
用法:#include <string.h> 功能:比較字符串s1和s2。
說(shuō)明: 當(dāng)s1<s2時(shí),返回值<0
       當(dāng)s1=s2時(shí),返回值=0
       當(dāng)s1>s2時(shí),返回值>0
舉例: // strcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=strcmp(s1,s2);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
三.在用VC編譯時(shí)debug和release兩種編譯指令有啥區(qū)別?
    relese版和debug不同在于:
    debug版使用于調(diào)試的,它關(guān)閉了大多數(shù)代碼優(yōu)化,并回自動(dòng)初始化開(kāi)辟出來(lái)的內(nèi)存(置為0xcc),并攜帶調(diào)試信息,但是執(zhí)行起來(lái)比較慢。
    release版是最終給客戶的,開(kāi)啟了代碼優(yōu)化,不會(huì)自動(dòng)初始化內(nèi)存,一般不攜帶調(diào)試信息執(zhí)行比較快。
    debug和release還有一個(gè)區(qū)別,呵呵,編譯成的exe,dll,lib文件的大小差太多了。
    如果debug下正確,release版本出錯(cuò),原因可能很多,畢竟debug多做了很多事。建議你用寫(xiě)log到文件的方法除錯(cuò)。
    常見(jiàn)問(wèn)題:
1.變量未初始化。
下面的程序在debug中運(yùn)行的很好。
thing *search(thing , *something)
{
BOOL found;
for(int i = 0; i < whatever.GetSize(); i++)
{
if(whatever->field == something->field)
{ /* found it */
found = TRUE;
break;
} /* found it */
}
if(found)
return whatever;
else
return NULL;
}
而在release中卻不行,因?yàn)閐ebug中會(huì)自動(dòng)給變量初始化found=FALSE,而在release版中則不會(huì)。所以盡可能的給變量、類(lèi)或結(jié)構(gòu)初始化。
2. 數(shù)據(jù)溢出的問(wèn)題
如:char buffer[10];
int counter;
lstrcpy(buffer, "abcdefghik");
    在debug版中buffer的NULL覆蓋了counter的高位,但是除非counter>16M,什么問(wèn)題也沒(méi)有。但是在release版中,counter可能被放在寄存器中,這樣NULL就覆蓋了buffer下面的空間,可能就是函數(shù)的返回地址,這將導(dǎo)致ACCESS ERROR。
3. DEBUG版和RELEASE版的內(nèi)存分配方式是不同的。
    如果你在DEBUG版中申請(qǐng) ele為 6*sizeof(DWORD)=24bytes,實(shí)際上分配給你的是32bytes(debug版以32bytes為單位分配),而在release版,分配給你的就是24bytes(release版以8bytes為單位),所以在debug版中如果你寫(xiě)ele[6],可能不會(huì)有什么問(wèn)題,而在release版中,就有ACCESS VIOLATE。
四.野指針的問(wèn)題:
    在指針P用完后執(zhí)行了一句free(p);為什么還要加一句 p=null; ?
    “野指針”不是NULL指針,是指向“垃圾”內(nèi)存的指針。人們一般不會(huì)錯(cuò)用NULL指針,因?yàn)橛胕f語(yǔ)句很容易判斷。但是“野指針”是很危險(xiǎn)的,if語(yǔ)句對(duì)它不起作用。野指針的成因主要有兩種:
    1、指針變量沒(méi)有被初始化。任何指針變量剛被創(chuàng)建時(shí)不會(huì)自動(dòng)成為NULL指針,它的缺省值是隨機(jī)的,它會(huì)亂指一氣。所以,指針變量在創(chuàng)建的同時(shí)應(yīng)當(dāng)被初始化,要么將指針設(shè)置為NULL,要么讓它指向合法的內(nèi)存。
    2、指針p被free或者delete之后,沒(méi)有置為NULL,讓人誤以為p是個(gè)合法的指針。別看free和delete的名字惡狠狠的(尤其是delete),它們只是把指針?biāo)傅膬?nèi)存給釋放掉,但并沒(méi)有把指針本身干掉。
通常避免野指針的辦法是正確的使用指針:
1.聲明一個(gè)pointer的時(shí)候注意初始化為null
int* pInt = NULL;
2.分配完內(nèi)存以后注意ASSERT
pInt = new int[num];
ASSERT(pInt != NULL);
3.刪除時(shí)候注意用對(duì)操作符
對(duì)于new int類(lèi)型的,用delete
對(duì)于new int[]類(lèi)型的,用delete []
4.刪除完畢以后記得給他null地址
delete [] pInt;
pInt = NULL;
5.記住,誰(shuí)分配的誰(shuí)回收,不要再一個(gè)函數(shù)里面分配local pointer,送到另外一個(gè)函數(shù)去delete
6.返回local address是非常危險(xiǎn)的,如必須這樣做,請(qǐng)寫(xiě)注釋到程序里面,免得忘記
五.最后一個(gè)問(wèn)題,也是壓死我這個(gè)駱駝的最后一根稻草:二分查找法的程序能不能上機(jī)寫(xiě)出來(lái)?
看到題目我第一反應(yīng)是:太簡(jiǎn)單了吧,這樣子搞那我豈不是想不留在這里做事都很難了,簡(jiǎn)直不給我選擇的機(jī)會(huì)嘛,于是我很爽快的答應(yīng)了,2分鐘之內(nèi)寫(xiě)出程序,要知道我面試前做了三天的準(zhǔn)備,這個(gè)程序可是譚浩強(qiáng)的書(shū)中最經(jīng)典的程序之一,我背都背下來(lái)了。
bool binary_search(int* arr, int key, int n)
{
int low = 0;
int high = n - 1;
int mid;
while (low <= high)
{
mid = (high + low) / 2;
if (arr[mid] > k)
high = mid - 1;
else if (arr[mid] < k)
low = mid + 1;
else
return ture;
}
return false;
}
面試經(jīng)歷:
    寫(xiě)完程序后,我匆匆的試著執(zhí)行了一下,看著屏幕上顯示的OK,心中揣著的那塊大石頭也就提前登陸了。 我叫來(lái)面官,原以為他應(yīng)該看兩眼就完事了,沒(méi)想到那家伙居然鄭重其事的坐下來(lái)一板一眼的輸入一長(zhǎng)串代碼去執(zhí)行,看著屏幕上顯示的一行又一行"No Found!",我感覺(jué)有點(diǎn)不妙。
    面官很和藹的讓我再調(diào)試下,就起身忙他的去了,而我在調(diào)試了3,4分鐘后還是沒(méi)有找到問(wèn)題的情況下徹底傻眼了,我根本就沒(méi)做這個(gè)預(yù)案,而且我敢對(duì)天發(fā)誓,我寫(xiě)的程序絕對(duì)和書(shū)上就差幾個(gè)字符不一樣。
    就在這萬(wàn)分危急的時(shí)刻,那家伙居然跑過(guò)來(lái)站在我的身后假惺惺的做指點(diǎn)。他的一句:“你的“TURE”寫(xiě)錯(cuò)了!”基本上是扒掉了我身上的最后一塊遮羞布。我在把函數(shù)的返回值和變量定義改了幾個(gè)回合之后徹底繳械了。
    但是我的繳械不是迫于他的淫威,而是出于我的過(guò)分自信。在我看來(lái)我已經(jīng)表現(xiàn)的很好了(當(dāng)時(shí)確實(shí)是這么認(rèn)為的),因?yàn)槲乙酝鶎?xiě)的代碼,一調(diào)試往往都是幾十行的錯(cuò)誤信息,今天寫(xiě)的這段從第一遍調(diào)試起就一直沒(méi)有語(yǔ)法錯(cuò)誤,我已經(jīng)創(chuàng)造了歷史,更何況結(jié)果已經(jīng)出來(lái)了,只是有那么一點(diǎn)點(diǎn)小小的錯(cuò)誤嘛,表現(xiàn)太完美了也不太好吧??
    然而我得到的卻是完全出乎意料的答復(fù),而且這個(gè)答復(fù)來(lái)的那么快。“很遺憾,我們不能錄用你!”,面官還是那么和藹,而且還在后面加了一句我懷疑是出于安慰才說(shuō)的話。“要是你這個(gè)程序調(diào)出來(lái)了可能我們就會(huì)錄用你了,但是我們畢竟有個(gè)標(biāo)準(zhǔn)。”
    他在最后還是給了我一個(gè)理由,這個(gè)理由成了我此行最大的收獲,這個(gè)理由讓我至今都覺(jué)得我那次面試有重大意義。“其實(shí)程序是調(diào)出來(lái)的,不是寫(xiě)出來(lái)的。我剛剛看了你調(diào)試的過(guò)程,你沒(méi)有使用斷點(diǎn),也沒(méi)有使用單步運(yùn)行,這些是程序調(diào)試最重要的手段。”
    這個(gè)理由讓我輸?shù)男姆诜,讓我至今任仍有很多感觸。今天我愿把我的感觸拿出來(lái)與大家分享:
1.學(xué)校和公司對(duì)我們的要求不一樣,評(píng)價(jià)的標(biāo)準(zhǔn)也不一樣。在學(xué)校,我上面的那段代碼可能是滿分,我也有過(guò)很多次這樣的經(jīng)歷。紙上寫(xiě)個(gè)程序,拿眼睛看看,沒(méi)有問(wèn)題,交上去就完成任務(wù)了。但是在公司,他們只看你代碼執(zhí)行的結(jié)果和執(zhí)行效率,根本不關(guān)心你用多久寫(xiě)出來(lái),你寫(xiě)的過(guò)程是一帆風(fēng)順還是錯(cuò)誤累累,只要結(jié)果和預(yù)期值不一樣,哪怕你的代碼和標(biāo)準(zhǔn)答案只差一個(gè)字符,也是白搭。其實(shí),在哪以后的代碼編寫(xiě)中我也很多次發(fā)現(xiàn),程序沒(méi)法得到正確結(jié)果經(jīng)常就是一個(gè)非常非常小的錯(cuò)誤,小的可以忽略。
2.“紙上得來(lái)終須淺”,軟件學(xué)習(xí),其實(shí)書(shū)看不看,看多少,根本沒(méi)那么重要,重要的是自己能動(dòng)手寫(xiě)出來(lái)而且正確執(zhí)行。在程序的調(diào)試過(guò)程中最好不要忽略任何一個(gè)細(xì)小的錯(cuò)誤,一切以能否得到正確的執(zhí)行結(jié)果為唯一判斷準(zhǔn)則。所謂的經(jīng)典著作上的經(jīng)典程序,很多時(shí)候執(zhí)行起來(lái)是通不過(guò)的,不是我貶低那些個(gè)大師,而是程序是要結(jié)合一定的環(huán)境才能談?wù)摻Y(jié)果和效率的,不同的編譯工具對(duì)于代碼的執(zhí)行影響很大。
3.要重視基礎(chǔ),在斯達(dá)康之后,我還去過(guò)阿里巴巴和諾基亞西門(mén)子杭州研發(fā)中心(NSN)做筆試題,一個(gè)共同的特點(diǎn)都是很注重基礎(chǔ),我事先著重準(zhǔn)備過(guò)的鏈表的操作以及析構(gòu)函數(shù)等等很多東西根本沒(méi)涉及到。都是基礎(chǔ)題目,只不過(guò)選取的考點(diǎn)都很獨(dú)特,都是平時(shí)容易被我們忽略的細(xì)節(jié),所以不容小覷。很多人做完都覺(jué)得很簡(jiǎn)單,知道面試名單里面沒(méi)有自己時(shí)才清醒,因?yàn)檫@種大公司筆試名單基本上都是完全按照筆試分?jǐn)?shù)高低來(lái)確定的。

【UT斯達(dá)康筆試面試經(jīng)驗(yàn)】相關(guān)文章:

UT斯達(dá)康筆試11-06

UT斯達(dá)康面試面經(jīng)11-21

UT斯達(dá)康裁員10%剝離非核心業(yè)務(wù)11-24

聯(lián)想筆試面試經(jīng)驗(yàn)11-06

中興筆試面試經(jīng)驗(yàn)10-24

寶潔面試筆試經(jīng)驗(yàn)12-11

交行筆試面試經(jīng)驗(yàn)11-19

中儲(chǔ)糧筆試+面試經(jīng)驗(yàn)07-30

面試畢馬威的筆試經(jīng)驗(yàn)分享12-03

合肥有線的筆試面試經(jīng)驗(yàn)?11-19