<input id="iys2c"></input>
  • <menu id="iys2c"></menu>
  • <input id="iys2c"></input>
    <input id="iys2c"><acronym id="iys2c"></acronym></input>
  • <menu id="iys2c"></menu>
    <menu id="iys2c"></menu>
  • <input id="iys2c"></input>
    <input id="iys2c"><acronym id="iys2c"></acronym></input>
  • <menu id="iys2c"><u id="iys2c"></u></menu>
    <menu id="iys2c"><u id="iys2c"></u></menu><input id="iys2c"><u id="iys2c"></u></input>
  • <input id="iys2c"></input>
  • 人人 2021 研發崗面試題

    小編:管理員 649閱讀 2021.10.11

    第1題:

     以下排序中時間復雜度最差的是

       

    A  歸并排序

    B  選擇排序

    C  希爾排序

    D  堆排序



     B



    第2題:

     當參數*x==1, *y==1, *z==1時,下列不可能是函數add的返回值的( )?


    int add(int *x, int *y, int *z){

        *x += *x;

        *y += *x;

        *z += *y;

        return *z;

     }

         

    A  4

    B  5

    C  6

    D  7




     D

    開始不知道啥意思,后經牛客網的大神指點才知道這題要考慮的是,x,y,z三個參數是否指向同一地址(或者說調用該函數時是否實參相同),如:當a=b=c=1時,add(&a,&a,&a),add(&a,&b,&c)。

    通過寫程序測試得出結果,不可能得到答案7。



    第3題:

     體育課的鈴聲響了,同學們都陸續地奔向操場,按老師的要求從高到矮站成一排。每個同學按順序來到操場時,都從排尾走向排頭,找到第一個比自己高的同學,并站到他的后面,這種站隊的方法類似下列哪種算法?

      

    A  快速排序

    B  插入排序

    C  冒泡排序

    D  歸并排序



     B



    第4題:

     下面關于inode描述錯誤的是?

     

    A  inode和文件是一一對應的

    B  inode能描述文件占用的塊數

    C  inode描述了文件大小和指向數據塊的指針

    D  通過inode實現文件的邏輯結構和物理結構的轉換



     A



    第5題:

     設有一個棧,元素依次進棧的順序是A,B,C,D,E。下列不可能的出棧順序有?

             

    A  ABCDE

    B  BCDEA

    C  EABCD

    D  EDCBA



     C

    進一個出一個的序列為A

    AB進棧B出棧C進棧出棧D進棧出棧E進棧出棧A出棧的序列為B

    全部進棧再出棧的序列為D,棧為先進后出的數據結構,無論如何都不會出現C的情況,故選C



    第6題:

     某二叉樹結點的中序序列為A、B、C、D、E、F、G、H,后序序列為B、D、C、A、F、G、H、E。該二叉樹對應的樹林結點的層次次序序列為?

      

    A  E、G、H、F、A、C、D、B

    B  E、A、H、C、G、B、D、F

    C  E、A、G、H、C、F、B、D

    D  E、G、A、C、H、D、F、B



     B

    由后序序列知E為根節點,再由中序遍歷知左子樹為ABCD,右子樹為FGH

    由后序遍歷BDCA知,A為BDC父節點,BDC為右子樹,其中C為BD父節點,B為C的左孩子,D為C右孩子,該樹左半部分完成

    由中序序列和后序序列知FGH序列不變,則H的左孩子為G,G的左孩子為F,H為E的右孩子,該樹可知其層次次序序列為EAHCGBDF,故選B



    第7題:

     假設平均每個人人用戶有300個好友,則一個人人用戶的3跳好友數的數量級是?

       

    A  十萬級

    B  百萬級

    C  千萬級

    D  億級



     C

    300的3次方,27000000,如果包含相互好友、共同好友的話還會比這個少。



    第8題:

     下列哪些因素不會限制Linux服務器并發連接數?

     

    A  系統內存大小

    B  系統網卡數量

    C  系統最大文件句柄數量

    D  系統IP地址數量



     B

    網卡數量。選擇B


    第一個,就是ip地址數,系統ip數越多,建立連接數越多。


    第二個,內存。從配置文件角度說吧

    用vim打開配置文件:#vim  /etc/sysctl.conf

    net.ipv4.tcp_mem[0]:低于此值,TCP沒有內存壓力。

    net.ipv4.tcp_mem[1]:在此值下,進入內存壓力階段。

    net.ipv4.tcp_mem[2]:高于此值,TCP拒絕分配socket。

    上述內存單位是頁,而不是字節。內存大小影響網絡  


    第三個。其他,句柄最大數影響network 在vfs操作的上限。



    最后。這么高大上的問題,我們先來看一個故事吧:


    100萬并發連接服務器筆記之Erlang完成1M并發連接目標

    100萬并發連接服務器筆記之1M并發連接目標達成

    100萬并發連接服務器筆記之測試端就緒

    100萬并發連接服務器筆記之處理端口數量受限問題

    100萬并發連接服務器筆記之準備篇




    第9題:

     二、填空題

    在區間[-1, 1]隨意取兩個數,它們的和大于1的概率是_________。(分數表示)



     1/8



    第10題:

     n從1開始,每個操作可以對n加1或加倍,如果要使n是2021,最少需要________ 個操作。



     18

    int minimum_step(int n) {

        vector<int> dp(n + 1);

        dp[1] = 0;

        for (int i = 2; i <= 2021; i++) {

            dp[i] = dp[i - 1] + 1;

            if (i % 2 == 0) {

                dp[i] = min(dp[i], dp[i / 2] + 1);

            }

        }

        return dp[2021];

    }



    第11題:

     三、問答題

    給出二叉樹接口為


    class node

    {

        node *get_left();

        node *get_right();

        int get_data();

    }

       

    找出值為val的最淺節點所在層數。

    int find(node *root, int val).




     

    int find(node * root, int val) {

        int ret = 1;

     

        if (root->get_data() == val) {

            return ret;

        } else {

            int  ret1 = 1 + find(root->get_left(), val);

            int  ret2 = 1 + find(root->get_right(), val);

            if (ret1 > ret2)

                ret = ret2;

            else

                ret = ret1;

     

            return ret;

        }

    }



    第12題:

     計算機中處理乘法的指令要比加法復雜的多, 因為在一些關鍵系統中我們常常會考慮如何盡可能減少乘法的運算。

    現在有如下的表達式

    y= anxn+an-1xn-1 +…..+a1x +a0

    其中an, an-1, ….a1, a0是常數, 給一個x, 要求盡快算出y的值。請嘗試寫出這樣的一個函數。



     思路: 

    F0=an;

    F1=anx+an-1
    Fn=xF(n-1)+an-1

    代碼:    

    function sum(int a[], int n, int x){

        s=a[n]

        for(int i=1; i<=n; i++){

            s += x*s + a[n-i]

        }

        return s;

    }


    關聯標簽:
    成年片黄色电影大全 - 视频 - 在线观看 - 影视资讯 - 爱赏网