色爱av综合网_色女人在线视频_男男gaygays亚洲_日本高清久久一区二区三区

購物車0種商品
IC郵購網-IC電子元件采購商城
今天到華為面試被bs了,他給我出了一個題沒答上來!大家給
(2011/10/29 9:02:00)
我本來投的是硬件,可是硬件已經招滿,就給俺分到軟件組去面試了,郁悶!
面試官給俺出了一個題,說是怎樣將n個字節從一個地址拷貝到另一個地址,要用一個完整的函數表達出來,有兩點,必須n個字節,必須是一個完整的函數。
我隨便寫了一個,看他那眼色,肯定不對。
然后他又問我寫出的函數中,全局變量放在數據存儲區什么地方,局部變量放在什么地方,俺一個汗阿,平時用C語言從來沒管這些,請各位大蝦在這里給我解答一下好嗎?

網友評論:對傳入參數進行檢查,理論上是很應該的……但是如果大家有興趣打開linux或者glibc看看源碼的實現,就會發現幾乎沒有注釋而且代碼“亂七八糟”……

程序的健壯性是靠系統工程來實現的……


網友評論:華為人的整體素質還可以, 太差了是進不去。

不過也就如此而已。

網友評論:摟主,面試軟件,林銳的教程研究研究才好啊。

現在企業,用林博的這個考的少了,一段時間是很多企業招人標準題目。

不過,就是不考試,還是值得學習的,另外一個叫“0x10個問題”的小教材也不錯.

網友評論:/***************************************
******函數名稱:dcopy()
******功能描述:100字節的數據塊COPY;
******輸入:
******輸出:
******全局變量:
******調用函數:
******異常處理:
****************************************/

……


網友評論:因為你的程序如果沒有完整的說明;沒有標準的良好的書寫格式,程序寫的再精妙過幾天也就無從考證了;在后續的排錯過程中將陷入困境;
再說你的程序是你寫的,用的人要看懂它。
如果你是系統分析員,那么你將面臨更殘酷的考驗;文檔的比例有可能3到5倍于程序代碼;

網友評論:至少要區分出堆和棧來,雖然這是編譯器給做好了的,但是也必須了解。因為這是軟件最底層的東西。華為面試這個題經常出,天天出。

雖然對于單片機的編譯器,會變成根本不是那么回事情,但是你還是要回答,沒有辦法,象PIC的CCSC編譯器,根本就不是這么樣分配的,因為PIC不支持堆棧訪問。

網友評論:這是從譚浩強的《C語言程序設計》中看到的:
內存中供用戶使用的存儲空間分三部分:

1.程序區2.靜態存儲區3.動態存儲區

全局變量全部存放在靜態存儲區,在程序開始執行時給全局變量分配存儲區,程序行完畢就釋放。在程序執行過程中它們占據固定的存儲單元,而不動態地進行分配和釋放。靜態局部變量也放在靜態存儲區。

動態存儲區存放以下數據:
1)函數形式參數;
2)自動變量(未加static聲明的局部變量);
3)函數調用實的現場保護和返回地址;





網友評論:NANDFLASH如何把N個字節從一個地址拷貝到另一個地址里去,沒有任何底層函數支持,完全匯編。下面這個NANDFLASH測試板我做的,用了1K匯編

網友評論:void*memcpy(void*t,void*s,,unsingedintlen)
{
char*t1,*s1;
t1=(char*)t;
s1=(char*)s;

while(len--)*t1++=*s1++;
returnt1;
}

所謂的‘len<0’是不存在的。

全局變量存放在公共數據區,各函數都能存取。而局部變量是否在堆棧上就難說啦。但有兩點可以肯定:(1)局部變量的內容只有在本函數運行時才有效;(2)
編譯器會設定本函數才能存取局部變量。還需補充的是,有些單片機的編譯器會
讓互不相關的函數共享一塊RAM區,存放局部變量。

網友評論:沒有統一答案,而且主要影響效率,有時還影響可重入。變量定義在哪兒,這才是程序是否可讀可維護的關鍵。其實原則再簡單不過:作用域越“局部”越好,能用局部變量或參數的,不要用全局變量

既然說“完整”的函數,注釋、ASSERT還是必要的吧?

對于這個具體的函數,如果要功能完整,應該考慮兩個內存塊部分重疊的情況,這是簡單拷貝會出錯,因為人家說的是任意n個

網友評論:五、編寫strcpy函數(10分)
已知strcpy函數的原型是
char*strcpy(char*strDest,constchar*strSrc);
其中strDest是目的字符串,strSrc是源字符串。
(1)不調用C++/C的字符串庫函數,請編寫函數strcpy
char*strcpy(char*strDest,constchar*strSrc);
{
assert((strDest!=NULL)&&(strSrc!=NULL));//2分
char*address=strDest;//2分
while((*strDest++=*strSrc++)!=‘’)//2分
NULL;
returnaddress;//2分
}
(2)strcpy能把strSrc的內容復制到strDest,為什么還要char*類型的返回值?
答:為了實現鏈式表達式。//2分
例如intlength=strlen(strcpy(strDest,“helloworld”));

網友評論:如果這個內存復制在關鍵業務路徑里面,一個一個字節復制的確要被BS。
我們一般復制內存塊都有對齊和非對齊的講究;
如果對齊復制,那么不要用字節,用字(四字節)。
如果非對齊,則掐頭去尾后再對齊。

HW的軟件用他們自己弄的DopraVOS操作系統,里面的內存復制函數就是一個一個字節復制的,關鍵路徑里面用起來就很損失性能了。不過現在他們改了沒有就不知道鳥:)
當然,一般地,關鍵業務路徑不允許內存復制,呵呵

網友評論:有個兄弟是HW過來的,他說HW都用PPC/MIPS/x86。
這些東西都是32位處理器。

唉,現在的MIPS已經都是64位的了,不過沒準他們還沒有用上……

網友評論:越是關鍵的地方,越是要精打細算,仔細優化

網友評論:善于收集別人的成果,去偽存精,為我所用就不錯。

林博的答案有幾下幾個優點:
1、運用了斷言assert,假定"原串"與"目地串"均為不空的指針,是空指針則不存在復制的過程;
2、函數有指針型返回值,便于與標誰的ANSI的C環境String庫函數兼容及前面網友提到的鏈式復用;
3、運用了轉義字符“”,作為復制結束的判據,比較規范;
4、運用了Const關鍵字,對函數入口的指針進行了顯式約束,防止對指針變量指向的內容作非預期的改變。

存在的不足:
1、函數的功能說明做得不好,尤其是入口參數與返回值的約定;
2、命名用簡名,沒有全名直觀,比如宜用Copy替代cpy,用Source代替src

網友評論:好想這么多人都沒看過《C陷阱與缺陷》。說不定考官就是考考你看沒看過一些最基本的參考書呢。

網友評論:實際中的單片機里面的C,沒有幾個標準的。
CCSC的存儲器分配是比較個性的,所有的都是全局變量,然后根據函數的重入性再復用。lst文件可以看的出來。

AVR單片機的指令和數據不是一個總線,所以再codevisionAVR中把const給挪用成了flash。
constchar*a;是一個指向flashchar類型的指針,此指針存于ram,而不是C++中的意思,這個變量的值不允許修改。
char*consta;是一個存儲于flash的char類型指針。

但是去考試,還是要說,局部變量在堆里,函數參數在棧里......儼然都是X86架構下的C語言編譯器的常規做法。

林銳也說自從經商以后就很少做技術了,但是現在來看,考的東西還都是他的書上的為多。偶和林博士是校友,同姓,當然沒有他那個水平和那么高的學位。

但是華為的幾年了考試就出這個strcpy,確實應該讓人bs一下。




網友評論:好像只有22樓的同志說到點子上

網友評論:在PC機里,全局變量放靜態存儲區,局部變量放動態存儲區
在TMS320CXXX中,全局變量放在你聲明的段中,局部變量放在堆棧中
...

網友評論:林的東西對初學者不錯.
沒有大講什么設計理論,就是平常編程時候,不注意的或者是沒有關注到的點點滴滴.很好.
即使不是為了應付考試,也是完全值得一讀的.

網友評論:記得在哪本書上看過,寫出來沒有bug的還真不容易。
至少樓上3#,16#幾位的都考慮的不全面。


網友評論:intmemncpy(char*pcDes,constchar*pcSrc,unsignedlongulLen)
{
if((NULL==pcDes)||(NULL==pcSrc))
{
return0;
}
while(ulLen--)
{
*pcDes++=*pcSrc++;
}
return1;
}

網友評論:學習學習,

網友評論:如果dst+length區域和src+length區域有重合,這個時候
while(len--)
{
*_d++=*s++;
}
這段程序就會出問題,如果src<dst即src地址在前,而src+length>dst,這個時候就會發現拷貝src的前面的數據其實是覆蓋了src的后面部分的數據,這樣就出問題了,所以在拷貝之前要判斷src和dst的大小

網友評論:學習

網友評論:1)n的大小范圍?
2)用的處理器或系統剩余ram?
3)“源”和“目的”指針在可讀寫區還是只讀區?

你把這三問考他一下都不用寫程序就可以過關了....

網友評論:暈倒
這個問題應該是這樣的
1:考察你是否會C語言
這個檢查你是否會使用指針啊什么的。會這個只是基本合格
2:考察你有沒有做參數檢查這點答對了你就說明你很優秀
源指針目的指針長度之間的關系很復雜。
譬如源在0x00處目標地址在0x04處,要拷貝10個字節。
那么上面所有人寫的代碼都錯了
因此函數最起碼是:
intMemCpy(BYTE*pSrc.BYTE*pDes,unsingedintLen){
//參數合法性檢查
//如果目的地址大于源地址從后象前拷
//如果源大于目的地址,從前向后拷貝
}
這道題華為和中興都是要考的




}


網友評論:總是出一些火星題.

這個公司真的不好嗎?

非常垃圾嗎?

靠,我還面試了四輪呢.

如果不好咱就不去了.



網友評論:uchar*_mencpy(uchar*s,uchar*d,uintn)
{
uinti;
for(i=0;i<n;i++)
{
*s=*d;
s++;
d++;
}
returns;
}

全局變量放在RAM的全局區,局部變量放在RAM的棧區.

網友評論:全局變量在堆里面,局部變量在棧里面。C語言堆和棧不是一個概念

網友評論:我是新手來報個到!

網友評論:表情:

網友評論:那些出題的,出的題以為人家看得懂答不出來,其實大多數情況是連他想問什么都看不懂的。。嚴重反bs。。。

網友評論:不懂就是不懂的啦,沒啥了不起的啦...............

預防一下先。。。。

網友評論:應該講你沒有在那里工作是你的幸運!一個公司的發展不是這樣考個人就能有多大的能力,他們因該洞察一個人的潛力!打破常規的用人制度是目前潛力公司的發展戰略!你如是金會被發現!

網友評論:看來現在找到出題人出來說兩句才是最關鍵的!

網友評論:比較實用的答案就是樓上各位的綜合!容錯與避錯并舉。

網友評論:可惜我不懂軟件!

網友評論:華為確實很難進去的啊,呵呵

網友評論:我面試過華為N次,n次都沒去,第一次是大學畢業那會,問我802.11,一竅不通
后來基本上保持一年一次的幾率面試、筆試,后幾年都順利通過,只是工資談不攏沒過去,奇怪的是每年都有不同的部門,不同城市的華為約我去。
唉。。。
中間的故事很多。
我要說的是他們面試就一套題目,都是林銳說過的,沒啥新意。雖然有部分改變,但只要你真正理解了,拿個90分還是沒問題的。
不過現在我是再也不想去華為了。面試也懶得去。

網友評論:如果是len等于0的時候會怎么樣呢?

網友評論:全局變量未賦初值的存在.BSS段,
賦初值的在堆區。

局部變量在棧區。

網友評論:思路:
先用LDM指令將一片連續地址的內容加載到寄存器列表中;
再用STM指令將各寄存器的內容存儲到另外一片連續地址中。

網友評論:局部變量存在于(堆棧)中,
全局變量存在于(靜態區)中,
動態申請數據存在于(堆)中。

至于樓主的程序,看一眼就知道它會崩潰。

瀏覽:(1583)| 評論( 0 )
博文評論

  • 昵 稱:
  • 內 容:10~250個字符
  • 驗證碼: 驗證碼看不清楚?請點擊刷新驗證碼
  •                      
  • 博文分類

    熱點博文

    最新博文

    最新評論

    IC電子元件查詢
    IC郵購網電子元件品質保障

    色爱av综合网_色女人在线视频_男男gaygays亚洲_日本高清久久一区二区三区
    中文字幕va一区二区三区| 亚洲视频一二三区| 91一区二区三区在线观看| 成人欧美一区二区三区黑人麻豆| 日韩国产精品91| 欧美精品一区二区在线播放| 精品一区二区三区不卡| 国产欧美精品一区二区三区四区| 在线欧美日韩精品| 国产91丝袜在线18| 免费欧美日韩国产三级电影| 亚洲色图欧美在线| 国产欧美一区二区三区在线看蜜臀 | 亚洲女性喷水在线观看一区| 国产伦精一区二区三区| 亚洲一区二区三区中文字幕在线| 欧美成人女星排名| 日韩一区国产二区欧美三区| 国产成人在线免费观看| 国内精品免费在线观看| 天天做天天摸天天爽国产一区| ...av二区三区久久精品| 国产亚洲精品久| 久久综合久久鬼色| 久久精品亚洲一区二区三区浴池| 日本高清无吗v一区| www.欧美色图| 在线亚洲高清视频| av资源网一区| 99久久国产综合精品麻豆| 99精品国产91久久久久久| 从欧美一区二区三区| 国内精品国产成人| 中文字幕亚洲一区二区va在线| 国产偷国产偷亚洲高清人白洁 | 亚洲国产美国国产综合一区二区| 亚洲精品自拍动漫在线| 亚欧色一区w666天堂| 亚欧色一区w666天堂| 久草在线在线精品观看| 99riav久久精品riav| 日本韩国精品在线| 欧美一区二区成人6969| 精品国产乱码久久久久久久| 国产亚洲欧美日韩日本| 一区二区三区中文免费| 狠狠色综合播放一区二区| 暴力调教一区二区三区| 精品少妇一区二区三区在线播放 | 亚洲成av人片在线观看无码| 欧美老肥妇做.爰bbww| 久久久亚洲精品石原莉奈 | 精彩视频一区二区三区| 99久久精品免费看国产免费软件| 欧美猛男男办公室激情| 欧美国产一区二区| 国产综合成人久久大片91| 制服视频三区第一页精品| 久久久久久久久久久黄色| 日本人妖一区二区| 日韩一区二区三区视频| 欧美性猛交xxxxxx富婆| 亚洲国产精品成人综合| 久久99久久精品欧美| 日韩免费性生活视频播放| 亚洲福利一区二区三区| 欧美一区二区三区爱爱| 欧美va日韩va| 久久99国产精品麻豆| 日韩精品一区二| 美美哒免费高清在线观看视频一区二区| 国产精品日韩精品欧美在线| 中文字幕不卡三区| 91麻豆国产福利在线观看| 又紧又大又爽精品一区二区| 色8久久精品久久久久久蜜| 亚洲欧美在线另类| 91.成人天堂一区| 国产毛片精品一区| 亚洲综合男人的天堂| 久久不见久久见免费视频1| 91精品福利在线一区二区三区| 日韩电影在线一区二区| 久久尤物电影视频在线观看| 国产成人在线免费| 亚洲精品欧美激情| 欧美刺激午夜性久久久久久久| 国产精品美日韩| 欧美日韩国产成人在线免费| 狠狠久久亚洲欧美| 午夜私人影院久久久久| 久久久精品日韩欧美| 欧美午夜寂寞影院| 懂色av中文字幕一区二区三区| 99r国产精品| 国产精品一区二区男女羞羞无遮挡| 亚洲人妖av一区二区| 久久久久久久久久美女| 欧美日韩和欧美的一区二区| av中文字幕不卡| 成人午夜精品在线| 久久伊人中文字幕| 欧美三级日韩在线| 91黄色在线观看| 视频在线观看国产精品| 亚洲制服丝袜一区| 亚洲国产综合人成综合网站| 亚洲视频免费在线观看| 中文字幕欧美国产| 国产精品久久久久久久久久久免费看 | 亚洲欧美激情插| 亚洲精品国产无天堂网2021| 久久精品人人做人人爽97 | 中文字幕一区二区三| 亚洲人成在线播放网站岛国| 日韩理论片在线| 三级欧美在线一区| 激情综合一区二区三区| 国产一区999| 日韩一卡二卡三卡四卡| 久久你懂得1024| 亚洲综合精品自拍| 日韩一区二区免费视频| 精品理论电影在线| 国产三级欧美三级日产三级99 | 日韩精品资源二区在线| 欧美mv日韩mv国产网站app| 国产精品欧美一级免费| 亚洲二区在线观看| 麻豆国产精品官网| 国产黄色91视频| 丝袜a∨在线一区二区三区不卡 | 亚洲免费资源在线播放| 日韩国产欧美在线视频| 不卡的av在线| 国产精品女主播在线观看| 全国精品久久少妇| 亚洲人成网站影音先锋播放| 免费成人深夜小野草| 在线观看免费视频综合| 欧美激情在线观看视频免费| 亚洲一区二区成人在线观看| 亚洲成a人片在线不卡一二三区| 国产欧美精品在线观看| 九九热在线视频观看这里只有精品| 99久久精品情趣| 国产欧美日韩久久| 国产精一品亚洲二区在线视频| 91精品一区二区三区久久久久久| 亚洲欧美另类久久久精品2019| 国产精品1024久久| 久久久久久久久久久电影| 午夜精品在线视频一区| 欧美午夜不卡视频| 国产精品的网站| 国产乱理伦片在线观看夜一区| 3atv在线一区二区三区| 亚洲一区二区影院| 日韩美女在线视频 | 中文字幕亚洲一区二区av在线| 91一区二区三区在线播放| 中文字幕一区二区三区不卡| av不卡在线播放| 亚洲在线成人精品| 精品国产一区二区三区av性色 | 国产精品资源站在线| 日韩一二三区视频| 97精品国产露脸对白| 成人动漫在线一区| 99久久精品国产一区二区三区| 亚洲视频一区二区免费在线观看| 日本韩国一区二区| 久久精品人人做人人爽97| 9人人澡人人爽人人精品| 亚洲制服丝袜在线| 欧美成人精品二区三区99精品| 成人小视频在线观看| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲国产精品一区二区久久| 日韩欧美国产wwwww| 日本高清不卡视频| 成人免费看片app下载| 久久爱另类一区二区小说| 天涯成人国产亚洲精品一区av| 国产精品久久久久三级| 欧美大胆一级视频| 91精品欧美久久久久久动漫| 成人开心网精品视频| 天天综合网 天天综合色| 亚洲特黄一级片| 中文字幕精品三区| 欧美三级韩国三级日本三斤| 亚洲美腿欧美偷拍| 26uuu亚洲综合色| 日韩一区二区三区四区| 欧美日本在线视频| 欧美一区二区在线看| 日韩区在线观看| 欧美xxxx老人做受| 久久蜜桃av一区精品变态类天堂|