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-11 03:59:19 筆試經驗 我要投稿

        騰訊筆試

        1 計算 a^b << 2 (運算符優先級問題)

        騰訊筆試


        int a = 2;
        int b = 1;
        int c = 2;
        cout << (a ^ b << c);
        6
        2 根據先序中序求后序

        3 a[3][4]哪個不能表示 a[1][1]: *(&a[0][0]) *(*(a+1)+1) *(&a[1]+1) *(&a[0][0]+4)

        cout << *(&a[1][1]) << endl
               <<*(*(a+1)+1) << endl
               << *(&a[1]+1) << endl
               << *(&a[0][0]+4);
        6
        6
        0012FEC8
        5

        4 for(int i...)
        for(int j...)
        printf(i,j);
        printf(j)
        會出現什么問題
         
        J沒有定義,不在其作用域


        5 for(i=0;i<10;++i,sum+=i);的運行結果

        6 10個數順序插入查找二叉樹,元素62的比較次數

        7 10個數放入模10hash鏈表,最大長度是多少

        8 fun((exp1,exp2),(exp3,exp4,exp5))有幾個實參
         2 個

        9 希爾 冒泡 快速 插入 哪個平均速度最快

        10 二分查找是 順序存儲 鏈存儲 按value有序中的哪些

        11 順序查找的平均時間

        12 *p=NULL *p=new char[100] sizeof(p)各為多少 4

        13 頻繁的插入刪除操作使用什么結構比較合適,鏈表還是數組

        14 enum的聲明方式 enum COLOR{RED,BLUE,GREEN};


        大題:

        1 把字符串轉換為小寫,不成功返回NULL,成功返回新串

        char* toLower(char* sSrcStr)
        {
        char* sDest= NULL;
        if( __1___)
        {
        int j;
        sLen = strlen(sSrcStr);
        sDest = new [_______2_____];
        if(*sDest == NULL)
        return NULL;
        sDest[sLen] = '/0';
        while(_____3____)
        sDest[sLen] = toLowerChar(sSrcStr[sLen]);
        }
        return sDest;
        }
         
        char toLowerChar(char a)
        {
            if(a >= 'A' && a <= 'Z')
               return a - 'A' + 'a';
        }
         
        char* toLower(char* sSrcStr)
        {
            char* sDest= NULL;
            if(sSrcStr)
            {
               int j;
               int sLen = strlen(sSrcStr);
               sDest = new char[sLen + 1];
               if(*sDest == NULL)
                   return NULL;
               sDest[sLen] = '/0';
               while(sLen--)
                   sDest[sLen] = toLowerChar(sSrcStr[sLen]);
            }
            return sDest;
        }


        2 把字符串轉換為整數 例如:"-123" -> -123

        main()
        {
        .....
        if( *string == '-' )
        n = ____1______; -1* num(string+1)
        else
        n = num(string);
        .....
        }

        int num(char* string)
        {
        for(;!(*string==0);string++)
        {
        int k;
        k = __2_____; *string
        j = --sLen;
        while( __3__) j--
        k = k * 10;
        num = num + k;
        }
        return num;
        }

        附加題:

        1 linux下調試core的命令,察看堆棧狀態命令

        2 寫出socks套接字 服務端 客戶端 通訊程序

        3 填空補全程序,按照我的理解是添入:win32調入dll的函數名
        查找函數入口的函數名 找到函數的調用形式
        把formView加到singledoc的聲明 將singledoc加到app的聲明

        4 有關系 s(sno,sname) c(cno,cname) sc(sno,cno,grade)
        1 問上課程 "db"的學生no
        2 成績最高的學生號
        3 每科大于90分的人數
         
        騰訊
            待遇:碩士年薪10萬,本科年薪7萬
            1)筆試: C++,基礎題目與程序員考試水平相當。
            附加題:
            1.有10億個浮點數,從中找出1萬個最大的數。寫一個高性能的算法
            2.Unix后臺進程的實現
            3.MFC的多文檔模板的加載
            4.數據庫SQL語句查詢
            2)面試
            技術1面:感覺騰訊的面試安排不是很合理,進去之后有12個面試官,隨便找一個面。面我的是個鐵面判官,問了幾個問題,DirectX技術有沒有接觸過? 2D,3D引擎原理?我一頭霧水,跟他沒什么好談的,感覺,彼此都不感興趣。然后他就問了一個很基礎的問題,寫一個程序:從雙向循環鏈表中刪除一個節點。這個當然沒有什么問題。不過出來后感覺就沒戲
         
        1.請定義一個宏,比較兩個數a、b的大小,不能使用大于、小于、if語句

        #define check(a,b) char*r=((a)-(b))==abs((a)-(b))? "greater":"less"

        2.如何輸出源文件的標題和目前執行行的行數

        cout<<"Filename"<<_ _FILE__<<"Line"<<__LINE__<<endl;

        3、兩個數相乘,小數點后位數沒有限制,請寫一個高精度算法
        4、寫一個病毒

        while(1)

        {

               int *p=new int [10000000];

        }
        5、有A、B、C、D四個人,要在夜里過一座橋。他們通過這座橋分別需要耗時1、2、5、10分鐘,只有一支手電,并且同時最多只能兩個人一起過橋。請問,如何安排,能夠在17分鐘內這四個人都過橋?
        AB過2分 A回來1分     3

        CD過10     B回來2分     12

        AB過2分 共計3+2+12=17

        2005年騰訊招聘
        選擇題(60)
                c/c++ os linux 方面的基礎知識 c的Sizeof函數有好幾個!
        程序填空(40)

        1.(20) 4空x5
                不使用額外空間,將 A,B兩鏈表的元素交叉歸并

        2.(20) 4空x5
        MFC        將樹序列化 轉存在數組或 鏈表中!

        1, 計算 a^b << 2 (運算符優先級問題) :<<的優先級高于^

        2 根據先序中序求后序

        3 a[3][4]哪個不能表示 a[1][1]: *(&a[0][0]) *(*(a+1)+1) *(&a[1]+1) *(&a[0][0]+4)     :*(&a[0][0]+4)應加5        *(&a[1]+1)

        4 for(int i...)
                  for(int j...)
                    printf(i,j);
                    printf(j)
                會出現什么問題 :j沒有定義,不在其作用域內

        5 for(i=0;i<10;++i,sum+=i);的運行結果 :55先執行循環體再執行++i,sum+=i

        6 10個數順序插入查找二叉樹,元素62的比較次數

        7 10個數放入模10hash鏈表,最大長度是多少

        8 fun((exp1,exp2),(exp3,exp4,exp5))有幾個實參 :兩個,其中括號內的","為逗號運算符

        9 希爾 冒泡 快速 插入 哪個平均速度最快

        10 二分查找是 順序存儲 鏈存儲 按value有序中的哪些

        11 順序查找的平均時間

        12 *p=NULL *p=new char[100] sizeof(p)各為多少    :都是4

        13 頻繁的插入刪除操作使用什么結構比較合適,鏈表還是數組    :鏈表

        14 enum的聲明方式 enum COLOR{RED,BLUE,GREEN};

        15 1-20的兩個數把和告訴A,積告訴B,A說不知道是多少,

        問題:A從2到99之間抽了2個數字,把和告訴B,積告訴C
        B說我不知道這2個數,但是C也肯定不知道
        C說我開始確實不知道,但是現在知道了
        B說這樣我也知道了
        求這2個數.為什么?
        我的解答:
        首先,正確答案是4和13。
        設B得到的和記做B,C得到的積記做C,這兩個數記做x和y。
        1.預備結論,
        a)100以內的質數有25個,如下:
        2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,
        b)歌德巴赫猜想,任何大于6的偶數都能寫成兩個奇質數的和。
        c)B明顯大于等于6,而小于等于196
        2.一些更要結論。
        a)B不可能是偶數。因為B如果是偶數,而偶數都能寫成兩個奇質數的和,例如22=5+17,那么如果C=5*17=85,則因為C=85只有一種質因數分解方式,所以C知道這兩個數是5和17。也就是說,B說“我不知道這2個數,但是C也肯定不知道”這句話是錯誤的,C有可能知道。
        b)B是奇數,并且一定不能寫成兩個質數的和。例如若B=19,那么就有可能是2和17,如果C=34=2*17,只有一種質因數分解方式,所以C知道這兩個數。
        那么不能寫成兩個質數的和的奇數見下:記做集合M
        11,17,23,27,29,35,37,41,47,51,53,57,59,65,67,71,77,79,83,87,89,93,95,97,還有100至196之間的奇數(因為例如103,雖然=101+2,但是101一經大于100)
        這些數的思路是這樣的,奇數=兩個質數和,那一定有一個數是2。不如分析30-40的,可以用排除法,奇數有31,33,35,37,39,但是29+2=31,31+2=33,37+2=39所以要排除31,33,39剩余35,37。
        所以B只可能是集合M中的數。
        c)B可有多種可能的分解方式,但是只有一種是可以確定的。這句話如果不理解,后面有例子。
        3.實際這個題可以分為兩個重要部分,一是找到一組這樣個數,并證明這組數符合條件,而是證明其它的數組不滿足條件。本人只能證明的一部分,第二部分我目前沒有更好的方法,只能是列舉排除法。
        4.下面實例分析
        a)若B=11
        x=2,y=9,那么C=18=3*6,C會這樣想,如果是3和6,那么B=9,而9可以是2+7,那么我C就是14,我肯定可以知道是2和7,所以不能是3和6。也就是說若B=11,B可以判斷出是x=2,y=9
        x=3,y=8,那么C=24=2*12=4*6,無論2+12,還是4+6都是偶數,可以排除,B可以判斷出是x=2,y=9
        x=4,y=7,C=2*14,2+16也可以排除,B可以判斷出是x=2,y=9
        x=5,y=6,C=2*15,2+15=17,17是集合M中的數,也就是說C知道這兩個數是什么,但是B不能確定。
        B有三組可以確定,那么,B就不知道究竟是那組了,只有一組能判斷出來才可以。
        一個結論:
        (ⅰ)C可以有多中分解方式,但分解中的x+y的和如果是M中的數,那說明這種分解方式不能排除,反之則能排除。
        (ⅱ)如果B的幾種不同分解方式,有兩個或以上的C可以確定,那么這樣的B不滿足條件(B說這樣我也知道了)
        (ⅲ)如果C的分解方式中x或y是4,8,16……2^2,另一個是質數,那么這種分解方式可以排除,因為,此時C的其他分解方式不過是,把質因數2分給質數,這樣兩個數都是偶數了,那么和B也成了偶數,這和前面的結論是矛盾的。
        b)若B=17
        x=2,y=15,那么C=30=5*6,5+6=11,屬于M,不能排除。
        x=3,y=14,那么C=42=2*21,2+21=23,屬于M,不能排除。
        x=4,y=13,那么C=52=2*26,2+26=28,不屬于M,可以排除。
        x=5,y=12,那么C=60=3*20,3+20=23,屬于M,不能排除。
        x=6,y=11,那么C=66=2*33,2+33=35,屬于M,不能排除。
        x=7,y=10,那么C=70=2*35,2+35=37,屬于M,不能排除。
        x=8,y=9,那么C=72=3*24,2+24=27,屬于M,不能排除。
        這樣,只有一組可以排除,那就是說,如B=17,C根據他知道的積,只有在C=52時,C才能判斷出來,其余不能判斷。
        c)其他的排除法,我只給出可以排除的兩種方法。(運用了結論(ⅲ))
        23=4+17=16+7。。27=4+23=8+19。。29=2+27=16+13。。35=4+31=32+3。。
        37=8+29=32+5。。41=4+37=32+9。。47=4+43=16+31。。51=4+47=8+43。。
        53=4+47=8+43。。57=4+53=16+41。。59=4+55=16+43。。65=4+61=16+49。。
        67=8+59=64+3。。71=4+67=64+7。。77=4+73=64+13。。79=8+71=64+15。。
        83=4+79=64+19。。87=4+83=64+23。。89=16+73=64+25。。91=8+83=64+27。
        93=4+89=64+29。。97=4+93=64+33。。
        超過100的奇數屬于集合M,所以還要研究這些數,當實在過于繁瑣,可以用64,32,尤其是64,因為它再乘以任何質數都將超過100,所以很容易找到一種,至于另一種留給讀者吧。

        B也說不知道,這時A說我知道了,B接著說我也知道了,問這兩個數是多少

         

        更多相關的筆試題目,大家敬請關注筆試欄目!

        【騰訊筆試】相關文章:

        騰訊筆試感受02-23

        騰訊奔波筆試記03-24

        騰訊產品廣州筆試經驗12-13

        騰訊筆試題 試題分享02-24

        騰訊編輯筆試題目11-21

        騰訊筆試題目,絕對有用12-11

        騰訊2013游戲策劃筆試經驗12-13

        騰訊筆試題整理及經驗技巧02-12

        騰訊網筆試初感11-06

        騰訊產品運營與策劃筆試分享11-21

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