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. 筆試題參考

        時間:2022-10-26 19:08:37 筆試題目 我要投稿
        • 相關推薦

        筆試題參考

        1、求函數返回值,輸入x=9999;
        int func(x)
        {
            int countx = 0;
            while(x)
            {
                countx ++;
                x = x&(x-1);
            }
            return countx;
        }
        【試題解析】
            解這道題的時候,如果拿出一個二進制數來分析就會容易的多了,x=x&(x-1)實際上就是把x的二進制形式的最后一個“1”變成“0”,x的二進制形式有多少個“1”循環(huán)就執(zhí)行多少次。

        筆試題參考

        9999/256 = 39 余 15,把這兩個數分別轉化一下就很快了
        39 = 32 + 4 + 2  +1 = 00100111
        15 = 0F = 00001111
        所以 9999=0010011100001111,共有8個1,答案就是 8 了

        2、實現(xiàn)以下程序,以方便binary search.
        .要有處理錯誤語句
        .隊列的分配的大小是固定的MAX_LEN,由第二個參數輸入
        .不能復制隊列
        insert (int *arr,           //隊列
                size_l len,          // 隊列大小
                size_l count,        //隊列元素的數目
                int varl             //要處理的數據
        )返回插入數據的索引
        remove(int *arr,size_l len,size_l count,int varl)返回刪除元素的索引
        search(int *arr,size_l len,size_l count,int varl)返回搜索道元素的索引
        【試題解析】
            略。數據結構書上都有的。

        3、堆棧R,從頂到底:{2,4,6,8,10},逐個取出放入隊列Q中 ,再從Q中逐個取出放入R中,問現(xiàn)在堆棧R中從頂到底的順序。
        【試題解析】
            這個也不用了吧,{10,8,6,4,2}

        4、寫出程序的結果:___________
        int funa(int *a)
        {
           a[0] ++;
        }

        int funb(int b[])
        {
           b[1] += 5;
        }

        main()
        {
           int a[5] = {2,3,4,5,6};
           int b[5] = {2,3,4,5,6};
           int *p;
           p = &a[0];
           (*p)++;
           funa(p);
           for(int i = 0; i<3; i++)
           printf("%d,",a);
           p = &b[1];
           funb(p);
           for(i = 0; i<3; i++)
           printf("%d,",b);
        }
        【題目解析】
        結果是:
        4,3,4,2,3,9

        (*p)++; 也就是a[0]++;
        funa(p);中的 a[0]++ 是將 main 中的數組 a[0]++,
        數組 a 中只有第一個元素加了兩次 1 ,

        p = &b[1];把p指向了數組 b 的第二個元素
        funb(p);中的 b[1]+=5 是將 main 中的數組 b[2]+=5
        數組 b 中的第三個元素加了 5


        5、找出下面程序的 BUG
        int CopyStringAndCount(char * Str) ①
        {
            int nCount = 0;
            char * pBuffer; ②
         
            pBuffer = new char[MAX_PATH_LENGTH];
            ③

            ④
            strcpy(pBuffer, Str);

            for ( ; pBuffer⑤; pBuffer++ )
                if ( pBuffer⑥=='\\' ) nCount ++;
           
            ⑦
            return nCount;
        }

        【題目解析】
        ① (const char * Str)
           如果在函數體內不需要改變字符串的內容,最好加上 const 以免誤修改字符串內容
        ② char * pBuffer = NULL;
           指針聲明的時候最好賦初值 NULL
        ③ if ( !pBuffer ) return -1;
           開辟空間之后沒有檢查是否成功,沒有錯誤檢查
        ④ if ( strlen(Str)>(MAX_PATH_LENGTH-1) ) return -2;
           沒有檢查新開辟的空間能否容納傳進來的字符串,否則有可能越界
        ⑤ *pBuffer
           題中的原意是當到字符串末尾的時候跳出循環(huán),所以應該是取字符串的內容
        ⑥ 同⑤
        ⑦ delete pBuffer; pBuffer=NULL;
           沒有釋放新開辟的空間,會造成內存泄漏


        6、你覺得下一代瀏覽器應該添加什么功能?
        【題目解析】
            當時隨便寫的,比如安全性,搜索功能等。


        7、給出函數strcmp()的測試方案
           int strcmp(const char * str1, const char *str2)
        【題目解析】
            主要考查考慮問題的全面型,我覺得有一個電冰箱測試的例子不錯
         我寫了幾個(僅供參考):
                    str1        str2
                    NULL        NULL
                    "a"         NULL
                    NULL        "a"
                    "a"         "abc"
                    "abc"       "acd"
                    ".xj"       "sefn"


        8、測試一個 DVD Player,如果你僅有有限的時間,你會如何做?
        【題目解析】
            只是說說我的思路,不是標準答案。首先測試基本功能,然后是常用功能,然后是高級功能。


        9、在過去的這些年,你遇到了哪一個最大的困難,你是如何解決它的?你是單獨做的還是和別人一起做的決定?為什么做這個決定?現(xiàn)在結果如何?


        10、邏輯題:
        有一5節(jié)車廂的過山車,每節(jié)能座兩人,現(xiàn)有Luair,Jack,Gwen,Tom,Mark,Paul,6人去乘車,有以下條件
        1,Luair和別人同乘
        2,Mark 不合別人同乘,而且Mark的前一節(jié)車廂是空的
        3,Tom 不和Gwen 與 Paul 中的任何一人同乘
        4,Gwen乘3,或者4節(jié)
        ....下面是一些斷言性的語句,讓你判斷對錯

        【題目解析】
            Mark和那節(jié)空車廂可以當作一個整體,剩下的就是按照規(guī)則做排列組合就可以了,可能的種類不是太多。如果用筆畫個草圖的話就比較容易了。


        11、鏈表反轉: (這道題不是微軟的,不過考的比較多,就不另外開貼了)

        數據結構如下:
        typedef struct _Node
        {
            int data;
            struct _Node *next;
        } Node;
        完成函數 Node *Reverse(Node *head),head為不帶頭節(jié)點的鏈表的首部。

        Node *Reverse(Node *head)
        {
            Node *tmp     = NULL;                // 緩沖變量
            Node *newHead = NULL;                // 反轉后的新頭節(jié)點
           
            if ( head==NULL ) return head;       // 空鏈表的情況
            if ( head->next==NULL ) return head; // 鏈表只有一個節(jié)點的情況
         
            while ( head )                       // 判斷有沒有移動到最后
            {
                tmp=head->next;                  // 臨時記錄下一個節(jié)點

                head->next = newHead;            // 把原來鏈表中的節(jié)點放到新的鏈表的首部
                newHead = head;

                head = tmp;
            } // end of while

            return newHead;

        } // end of Reverse
         

        【筆試題參考】相關文章:

        中興2015筆試題08-02

        迅雷2011.10.21筆試題08-10

        小升初試題參考02-25

        筆經:加強型試題07-22

        小升初英語模擬試題參考08-10

        名校自主招生試題參考02-28

        小升初語文試卷試題參考08-10

        小升初數學試題參考08-10

        海爾04年筆試題及答案07-31

        面試前準備 谷歌參考面試題參考08-09

        国产高潮无套免费视频_久久九九兔免费精品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>