1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 求職寶典

        6.2 筆試真題 & 詳解

        一 綜合題(20分,每題5分)

        1 世界環(huán)境日 每年的6月5日

        2 夏普在中國的產(chǎn)品不包括

        A 手機(jī) B 液晶電視 C水波爐 D太陽能爐

        3 夏普每年的環(huán);顒(dòng)叫:夏普集團(tuán)上海各據(jù)點(diǎn)與11月28日在上海世紀(jì)公園共同實(shí)施了環(huán)境美化活動(dòng)。這次活動(dòng)是夏普集團(tuán)開展社會(huì)貢獻(xiàn)活動(dòng)以來公司每年組織進(jìn)行的,旨在為社會(huì)和環(huán)境做出一分應(yīng)有的貢獻(xiàn)。另外,還積極開展“植樹活動(dòng)”,努力為中國的自然環(huán)境保護(hù)作出貢獻(xiàn),促進(jìn)環(huán)境的綠化。今年4月,在天津市進(jìn)行了66,600平方米、7,400棵白楊樹的植樹造林,以此開展“夏普森林”活動(dòng)。計(jì)劃明年4月還將進(jìn)行同等規(guī)模的植樹造林活動(dòng)。

        二 邏輯題

        1、 1099 2189 3186 4369 5189 請根據(jù)規(guī)律寫出后面三個(gè)數(shù)字

        2 、O 9 W h + 從以下數(shù)字字母符號(hào)中選出下一個(gè)U # 3 4 P R F還有一個(gè)符號(hào),像示字去掉左右兩點(diǎn)似的

        三 計(jì)算題

        1 阿拉伯?dāng)?shù)學(xué)家留下遺囑,如果妻子生下一個(gè)兒子,兒子可得三分之二遺產(chǎn),妻子得三分之一,如果剩下女兒,妻子可得三分之二,女兒得到三分之一,結(jié)果妻子生下一對龍鳳胎,問遺產(chǎn)如何分

        答:可以理解為 如果是兒子兒子財(cái)產(chǎn)是母親的2倍

        如果是女兒 母親財(cái)產(chǎn)是女兒的2倍

        那就是兒子:母親:女兒=4:2:1

        妻子2/7 兒子4/7 女兒1/7

        2 某人有8800元,有兩種投資方案,方案A,購買一個(gè)期限為兩年的10000元債券,方案B,存入銀行,年利率為6%,問方案A的利率,以及應(yīng)該選擇哪一種方案

        答:方案B,收益差不多應(yīng)急還可用。

        四 分析題

        內(nèi)容大意是中國工信部08年11月統(tǒng)計(jì)中國手機(jī)用戶為XX,比08年10月增長了XX,比去年同期增長了XX.中國人口已經(jīng)達(dá)到XX,手機(jī)用戶比率占XX,當(dāng)然不排除一個(gè)用戶有多部手機(jī).全球手機(jī)用戶有XX,中國占比率為XX。有分析師認(rèn)為到2010年,全球手機(jī)用戶將達(dá)到XX。接著給了一個(gè)表,是2007年人口變化抽樣調(diào)查的統(tǒng)計(jì)表,給出了07年每個(gè)年齡段的人口總數(shù),男性、女性各自的數(shù)字,男女性別比,以 5歲為一個(gè)年齡段。根據(jù)以上,問

        1 分析中國手機(jī)市場發(fā)展趨勢

        趨勢一:智能手機(jī)是未來手機(jī)的發(fā)展方向

        趨勢二:高像素成為未來手機(jī)的標(biāo)配

        趨勢三:觸摸屏有望在未來實(shí)現(xiàn)普及

        趨勢四:高清晰度的寬屏成為潮流

        趨勢五:手機(jī)上的GPS導(dǎo)航功能將越來越普遍

        2 分析不同年齡段對手機(jī)功能需求的不同,進(jìn)一步分析手機(jī)市場發(fā)展趨勢

        近幾年,廠商在迎合年青人市場上做出很多努力,音樂、拍照、游戲等多媒體手機(jī)迅猛增長,年青人市場成為兵家必爭之地。在金融危機(jī)下23歲以下年齡群體及24-28歲年齡段群體的手機(jī)消費(fèi)意愿最低,而36-48年齡段群體最舍得在手機(jī)上花錢。36-48 年齡段群體對于低、中、高端手機(jī)消費(fèi)呈現(xiàn)出嚴(yán)重的兩極分化。低端手機(jī)的購買意愿為35.6%,略高于高端手機(jī)(31%),而中端手機(jī)則被嚴(yán)重忽視,僅有 6.4%的人對這個(gè)價(jià)位手機(jī)有購買意愿。這表明36-48歲年齡段群體的消費(fèi)者對手機(jī)有很明確的需求定位:要么是價(jià)格低廉能滿足基本通訊需求,要么是頂級(jí)配置能成為身份象征。而其他年齡群體對三個(gè)檔次的產(chǎn)品接受度則較為均衡。

        3 金融危機(jī)對手機(jī)消費(fèi)的影響

        從宏觀環(huán)境來看,目前正值中國手機(jī)行業(yè)大變革、大發(fā)展的時(shí)代。調(diào)查顯示宏觀層面經(jīng)濟(jì)環(huán)境的“遇冷”讓消費(fèi)者購物更為謹(jǐn)慎,相比起生活必需品,手機(jī)產(chǎn)品的消費(fèi)受到較嚴(yán)重的抑制。網(wǎng)友換手機(jī)愈發(fā)謹(jǐn)慎,而且消費(fèi)檔次有下滑趨勢。

        夏普的經(jīng)營理念是什么?——誠意和創(chuàng)意,

        夏普成立于哪年?——1912

        夏普名字的來源——活芯鉛筆

        夏普在哪年發(fā)明了世界上第一太液晶顯示器—1973年

        夏普在2008年進(jìn)入主中國的產(chǎn)品是哪個(gè)?——手機(jī)

        C 程序員應(yīng)聘試題

        試題1:

        void test1()

        {

        char string[10];

        char* str1 = "0123456789";

        strcpy( string, str1 );

        }

        試題2:

        void test2()

        {

        char string[10], str1[10];

        int i;

        for(i=0; i<10; i++)

        {

        str1[i] = 'a';

        }

        strcpy( string, str1 );

        }

        試題3:

        void test3(char* str1)

        {

        char string[10];

        if( strlen( str1 ) <= 10 )

        {

        strcpy( string, str1 );

        }

        }

        解答:

        試題1字符串str1需要11個(gè)字節(jié)才能存放下(包括末尾的’\0’),而string只有10個(gè)字節(jié)的空間,strcpy會(huì)導(dǎo)致數(shù)組越界;

        對試題2,如果面試者指出字符數(shù)組str1不能在數(shù)組內(nèi)結(jié)束可以給3分;如果面試者指出strcpy(string, str1)調(diào)用使得從str1內(nèi)存起復(fù)制到string內(nèi)存起所復(fù)制的字節(jié)數(shù)具有不確定性可以給7分,在此基礎(chǔ)上指出庫函數(shù)strcpy工作方式的給10分;

        對試題3,if(strlen(str1) <= 10)應(yīng)改為if(strlen(str1) < 10),因?yàn)閟trlen的結(jié)果未統(tǒng)計(jì)’\0’所占用的1個(gè)字節(jié)。

        考查對基本功的掌握:

        (1)字符串以’\0’結(jié)尾;

        (2)對數(shù)組越界把握的敏感度;

        (3)庫函數(shù)strcpy的工作方式,

        (4)對strlen的掌握,它沒有包括字符串末尾的'\0'。

        試題4:

        void GetMemory( char *p )

        {

        p = (char *) malloc( 100 );

        }

        void Test( void )

        {

        char *str = NULL;

        GetMemory( str );

        strcpy( str, "hello world" );

        printf( str );

        }

        解答:

        試題4傳入中GetMemory( char *p )函數(shù)的形參為字符串指針,在函數(shù)內(nèi)部修改形參并不能真正的改變傳入形參的值,執(zhí)行完

        char *str = NULL;

        GetMemory( str );

        后的str仍然為NULL;

        試題5:

        char *GetMemory( void )

        {

        char p[] = "hello world";

        return p;

        }

        void Test( void )

        {

        char *str = NULL;

        str = GetMemory();

        printf( str );

        }

        試題5中

        char p[] = "hello world";

        return p;

        的p[]數(shù)組為函數(shù)內(nèi)的局部自動(dòng)變量,在函數(shù)返回后,內(nèi)存已經(jīng)被釋放。這是許多程序員常犯的錯(cuò)誤,其根源在于不理解變量的生存期。

        試題6:

        void GetMemory( char **p, int num )

        {

        *p = (char *) malloc( num );

        }

        void Test( void )

        {

        char *str = NULL;

        GetMemory( &str, 100 );

        strcpy( str, "hello" );

        printf( str );

        }

        試題6的GetMemory避免了試題4的問題,傳入GetMemory的參數(shù)為字符串指針的指針,但是在GetMemory中執(zhí)行申請內(nèi)存及賦值語句

        *p = (char *) malloc( num );

        后未判斷內(nèi)存是否申請成功,應(yīng)加上:

        if ( *p == NULL )

        {

        ...//進(jìn)行申請內(nèi)存失敗處理

        }

        試題7:

        void Test( void )

        {

        char *str = (char *) malloc( 100 );

        strcpy( str, "hello" );

        free( str );

        ... //省略的其它語句

        }

        試題7存在與試題6同樣的問題,在執(zhí)行

        char *str = (char *) malloc(100);

        后未進(jìn)行內(nèi)存是否申請成功的判斷;另外,在free(str)后未置str為空,導(dǎo)致可能變成一個(gè)“野”指針,應(yīng)加上:

        str = NULL;

        試題6的Test函數(shù)中也未對malloc的內(nèi)存進(jìn)行釋放。

        剖析:

        試題4~7考查面試者對內(nèi)存操作的理解程度,基本功扎實(shí)的面試者一般都能正確的回答其中50~60的錯(cuò)誤。但是要完全解答正確,卻也絕非易事。

        對內(nèi)存操作的考查主要集中在:

        (1)指針的理解;

        (2)變量的生存期及作用范圍;

        (3)良好的動(dòng)態(tài)內(nèi)存申請和釋放習(xí)慣。

        再看看下面的一段程序有什么錯(cuò)誤:

        swap( int* p1,int* p2 )

        {

        int *p;

        *p = *p1;

        *p1 = *p2;

        *p2 = *p;

        }

        在swap函數(shù)中,p是一個(gè)“野”指針,有可能指向系統(tǒng)區(qū),導(dǎo)致程序運(yùn)行的崩潰。在VC++中DEBUG運(yùn)行時(shí)提示錯(cuò)誤“Access Violation”。該程序應(yīng)該改為:

        swap( int* p1,int* p2 )

        {

        int p;

        p = *p1;

        *p1 = *p2;

        *p2 = p;

        }

        預(yù)處理器(Preprocessor)

        1. 用預(yù)處理指令#define 聲明一個(gè)常數(shù),用以表明1年中有多少秒(忽略閏年問題)

        #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL

        2. 寫一個(gè)“標(biāo)準(zhǔn)”宏MIN,這個(gè)宏輸入兩個(gè)參數(shù)并返回較小的一個(gè)。

        #define MIN(A,B) ((A) <= (B)?(A) : (B))

        這個(gè)測試是為下面的目的而設(shè)的:

        1). 標(biāo)識(shí)#define在宏中應(yīng)用的基本知識(shí)。這是很重要的,因?yàn)橹钡角度?inline)操作符變?yōu)闃?biāo)準(zhǔn)C的一部分,宏是方便產(chǎn)生嵌入代碼的唯一方法,對于嵌入式系統(tǒng)來說,為了能達(dá)到要求的性能,嵌入代碼經(jīng)常是必須的方法。

        2). 三重條件操作符的知識(shí)。這個(gè)操作符存在C語言中的原因是它使得編譯器能產(chǎn)生比if-then-else更優(yōu)化的代碼,了解這個(gè)用法是很重要的。

        3). 懂得在宏中小心地把參數(shù)用括號(hào)括起來

        3. 預(yù)處理器標(biāo)識(shí)#error的目的是什么?

        這問題對區(qū)分一個(gè)正常的伙計(jì)和一個(gè)書呆子是很有用的。只有書呆子才會(huì)讀C語言課本的附錄去找出象這種問題的答案。當(dāng)然如果你不是在找一個(gè)書呆子,那么應(yīng)試者最好希望自己不要知道答案。#error 停止編譯并顯示錯(cuò)誤信息,死循環(huán)(Infinite loops)

        4. 嵌入式系統(tǒng)中經(jīng)常要用到無限循環(huán),你怎么樣用C編寫死循環(huán)呢?

        這個(gè)問題用幾個(gè)解決方案。我首選的方案是:

        while(1)

        {

        }

        一些程序員更喜歡如下方案:

        for(;;)

        <

        p> {

        }

        這個(gè)實(shí)現(xiàn)方式讓我為難,因?yàn)檫@個(gè)語法沒有確切表達(dá)到底怎么回事。如果一個(gè)應(yīng)試者給出這個(gè)作為方案,我將用這個(gè)作為一個(gè)機(jī)會(huì)去探究他們這樣做的基本原理。如果他們的基本答案是:“我被教著這樣做,但從沒有想到過為什么。”這會(huì)給我留下一個(gè)壞印象。

        第三個(gè)方案是用 goto

        Loop:

        ...

        goto Loop;

        應(yīng)試者如給出上面的方案,這說明或者他是一個(gè)匯編語言程序員(這也許是好事)或者他是一個(gè)想進(jìn)入新領(lǐng)域的BASIC/FORTRAN程序員。

        數(shù)據(jù)聲明(Data declarations)

        5. 用變量a給出下面的定義

        a) 一個(gè)整型數(shù)(An integer)

        b) 一個(gè)指向整型數(shù)的指針(A pointer to an integer)

        c) 一個(gè)指向指針的的指針,它指向的指針是指向一個(gè)整型數(shù)(A pointer to a pointer to an integer)

        d) 一個(gè)有10個(gè)整型數(shù)的數(shù)組(An array of 10 integers)

        e) 一個(gè)有10個(gè)指針的數(shù)組,該指針是指向一個(gè)整型數(shù)的(An array of 10 pointers to integers)

        f) 一個(gè)指向有10個(gè)整型數(shù)數(shù)組的指針(A pointer to an array of 10 integers)

        g) 一個(gè)指向函數(shù)的指針,該函數(shù)有一個(gè)整型參數(shù)并返回一個(gè)整型數(shù)(A pointer to a function that takes an integer as an argument and returns an integer)

        h) 一個(gè)有10個(gè)指針的數(shù)組,該指針指向一個(gè)函數(shù),該函數(shù)有一個(gè)整型參數(shù)并返回一個(gè)整型數(shù)( An array of ten pointers to functions that take an integer argument and return an integer )

        答案是:

        a) int a; // An integer

        b) int *a; // A pointer to an integer

        c) int **a; // A pointer to a pointer to an integer

        d) int a[10]; // An array of 10 integers

        e) int *a[10]; // An array of 10 pointers to integers

        f) int (*a)[10]; // A pointer to an array of 10 integers

        g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer

        h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer

        人們經(jīng)常聲稱這里有幾個(gè)問題是那種要翻一下書才能回答的問題,我同意這種說法。當(dāng)我寫這篇文章時(shí),為了確定語法的正確性,我的確查了一下書。但是當(dāng)我被面試的時(shí)候,我期望被問到這個(gè)問題(或者相近的問題)。因?yàn)樵诒幻嬖嚨倪@段時(shí)間里,我確定我知道這個(gè)問題的答案。應(yīng)試者如果不知道所有的答案(或至少大部分答案),那么也就沒有為這次面試做準(zhǔn)備,如果該面試者沒有為這次面試做準(zhǔn)備,那么他又能為什么出準(zhǔn)備呢?

        Static

        6. 關(guān)鍵字static的作用是什么?

        這個(gè)簡單的問題很少有人能回答完全。在C語言中,關(guān)鍵字static有三個(gè)明顯的作用:

        1). 在函數(shù)體,一個(gè)被聲明為靜態(tài)的變量在這一函數(shù)被調(diào)用過程中維持其值不變。

        2). 在模塊內(nèi)(但在函數(shù)體外),一個(gè)被聲明為靜態(tài)的變量可以被模塊內(nèi)所用函數(shù)訪問,但不能被模塊外其它函數(shù)訪問。它是一個(gè)本地的全局變量。

        3). 在模塊內(nèi),一個(gè)被聲明為靜態(tài)的函數(shù)只可被這一模塊內(nèi)的其它函數(shù)調(diào)用。那就是,這個(gè)函數(shù)被限制在聲明它的模塊的本地范圍內(nèi)使用。

        大多數(shù)應(yīng)試者能正確回答第一部分,一部分能正確回答第二部分,同是很少的人能懂得第三部分。這是一個(gè)應(yīng)試者的嚴(yán)重的缺點(diǎn),因?yàn)樗@然不懂得本地化數(shù)據(jù)和代碼范圍的好處和重要性。

        Const

        7.關(guān)鍵字const是什么含意?

        我只要一聽到被面試者說:“const意味著常數(shù)”,我就知道我正在和一個(gè)業(yè)余者打交道。去年Dan Saks已經(jīng)在他的文章里完全概括了const的所有用法,因此ESP(譯者:Embedded Systems Programming)的每一位讀者應(yīng)該非常熟悉const能做什么和不能做什么.如果你從沒有讀到那篇文章,只要能說出const意味著“只讀”就可以了。盡管這個(gè)答案不是完全的答案,但我接受它作為一個(gè)正確的答案。(如果你想知道更詳細(xì)的答案,仔細(xì)讀一下Saks的文章吧。)如果應(yīng)試者能正確回答這個(gè)問題,我將問他一個(gè)附加的問題:下面的聲明都是什么意思?

        const int a; //a是一個(gè)常整型數(shù)

        int const a; //a是一個(gè)常整型數(shù)

        const int *a; //一個(gè)指向常整型數(shù)的指針,整型數(shù)是不可修改的,但指針可以

        int * const a; //一個(gè)指向整型數(shù)的常指針,指針指向的整型數(shù)是可以修改的,指針不可修改

        int const * a const;// 一個(gè)指向常整型數(shù)的常指針,整型數(shù)不可修改,指針也是不可修改的

        (主要看const靠近*還是int,不可修改的就是它)

        前兩個(gè)的作用是一樣,a是一個(gè)常整型數(shù)。第三個(gè)意味著a是一個(gè)指向常整型數(shù)的指針(也就是,整型數(shù)是不可修改的,但指針可以)。第四個(gè)意思a是一個(gè)指向整型數(shù)的常指針(也就是說,指針指向的整型數(shù)是可以修改的,但指針是不可修改的)。最后一個(gè)意味著a是一個(gè)指向常整型數(shù)的常指針(也就是說,指針指向的整型數(shù)是不可修改的,同時(shí)指針也是不可修改的)。如果應(yīng)試者能正確回答這些問題,那么他就給我留下了一個(gè)好印象。順帶提一句,也許你可能會(huì)問,即使不用關(guān)鍵字const,也還是能很容易寫出功能正確的程序,那么我為什么還要如此看重關(guān)鍵字const呢?我也如下的幾下理由:

        1). 關(guān)鍵字const的作用是為給讀你代碼的人傳達(dá)非常有用的信息,實(shí)際上,聲明一個(gè)參數(shù)為常量是為了告訴了用戶這個(gè)參數(shù)的應(yīng)用目的。如果你曾花很多時(shí)間清理其它人留下的垃圾,你就會(huì)很快學(xué)會(huì)感謝這點(diǎn)多余的信息。(當(dāng)然,懂得用const的程序員很少會(huì)留下的垃圾讓別人來清理的。)

        2). 通過給優(yōu)化器一些附加的信息,使用關(guān)鍵字const也許能產(chǎn)生更緊湊的代碼。

        3). 合理地使用關(guān)鍵字const可以使編譯器很自然地保護(hù)那些不希望被改變的參數(shù),防止其被無意的代碼修改。簡而言之,這樣可以減少bug的出現(xiàn)。

        Volatile

        8. 關(guān)鍵字volatile有什么含意并給出三個(gè)不同的例子。

        一個(gè)定義為volatile的變量是說這變量可能會(huì)被意想不到地改變,這樣,編譯器就不會(huì)去假設(shè)這個(gè)變量的值了。精確地說就是,優(yōu)化器在用到這個(gè)變量時(shí)必須每次都小心地重新讀取這個(gè)變量的值,而不是使用保存在寄存器里的備份。下面是volatile變量的幾個(gè)例子:

        1). 并行設(shè)備的硬件寄存器(如:狀態(tài)寄存器)

        2). 一個(gè)中斷服務(wù)子程序中會(huì)訪問到的非自動(dòng)變量(Non-automatic variables)

        3). 多線程應(yīng)用中被幾個(gè)任務(wù)共享的變量

        回答不出這個(gè)問題的人是不會(huì)被雇傭的。我認(rèn)為這是區(qū)分C程序員和嵌入式系統(tǒng)程序員的最基本的問題。嵌入式系統(tǒng)程序員經(jīng)常同硬件、中斷、RTOS等等打交道,所用這些都要求volatile變量。不懂得volatile內(nèi)容將會(huì)帶來災(zāi)難。

        位操作(Bit manipulation)

        9. 嵌入式系統(tǒng)總是要用戶對變量或寄存器進(jìn)行位操作。給定一個(gè)整型變量a,寫兩段代碼,第一個(gè)設(shè)置a的bit 3,第二個(gè)清除a 的bit 3。在以上兩個(gè)操作中,要保持其它位不變。

        對這個(gè)問題有三種基本的反應(yīng)

        1). 不知道如何下手。該被面者從沒做過任何嵌入式系統(tǒng)的工作。

        2). 用bit fields。Bit fields是被扔到C語言死角的東西,它保證你的代碼在不同編譯器之間是不可移植的,同時(shí)也保證了的你的代碼是不可重用的。我最近不幸看到Infineon為其較復(fù)雜的通信芯片寫的驅(qū)動(dòng)程序,它用到了bit fields因此完全對我無用,因?yàn)槲业木幾g器用其它的方式來實(shí)現(xiàn)bit fields的。從道德講:永遠(yuǎn)不要讓一個(gè)非嵌入式的家伙粘實(shí)際硬件的邊。

        3). 用 #defines 和 bit masks 操作。這是一個(gè)有極高可移植性的方法,是應(yīng)該被用到的方法。最佳的解決方案如下:

        #define BIT3 (0x1<<3)

        static int a;

        void set_bit3(void)

        {

        a |= BIT3;

        }

        void clear_bit3(void)

        {

        a &= ~BIT3;

        }

        一些人喜歡為設(shè)置和清除值而定義一個(gè)掩碼同時(shí)定義一些說明常數(shù),這也是可以接受的。我希望看到幾個(gè)要點(diǎn):說明常數(shù)、|=和&=~操作。

        訪問固定的內(nèi)存位置(Accessing fixed memory locations)

        10. 嵌入式系統(tǒng)經(jīng)常具有要求程序員去訪問某特定的內(nèi)存位置的特點(diǎn)。在某工程中,要求設(shè)置一絕對地址為0x67a9的整型變量的值為0xaa66。編譯器是一個(gè)純粹的ANSI編譯器。寫代碼去完成這一任務(wù)。

        這一問題測試你是否知道為了訪問一絕對地址把一個(gè)整型數(shù)強(qiáng)制轉(zhuǎn)換(typecast)為一指針是合法的。這一問題的實(shí)現(xiàn)方式隨著個(gè)人風(fēng)格不同而不同。典型的類似代碼如下:

        int *ptr;

        ptr = (int *)0x67a9;

        *ptr = 0xaa55;

        《夏普求職寶典》

        《夏普求職寶典Word下載》

        《夏普求職寶典PDF下載》

        Copyright©2006-2024應(yīng)屆畢業(yè)生網(wǎng)yjbys.com版權(quán)所有

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>