国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

.NET 筆試分享

2019-11-17 01:38:06
字體:
來源:轉載
供稿:網友

.NET 筆試分享

最近一直在面試,每次面試前也不怎么準備,雖說碰到的題大部分都很簡單的,但是在現場答題的時候由于自己緊張腦子就空了,一些題答的不是很好,所以只有每次回來的時候才能好好想想怎么答;

題大部分還是挺簡單的,就先記錄幾個腦子里記住的

一、創建一個長度為100的數組,隨機插入1-100不重復的數字。這道題剛一上來就覺得應該是這樣的,當時也是這樣寫的:

static int[] Fun(){       int[] arr = new int[100];       int index = 0;       Random ran = new Random();       while (index < 100)       {            int temp = ran.Next(1, 101);            if (!arr.Contains(temp))                 arr[index++] = temp;        }        return arr;}

后來回家想想,這樣寫不是很好,因為每次隨機出一個數后,判斷數組是否包含這個,不包含的話才插入數組。這樣的話隨著數組中包含的數字越來越多,要判斷的次數也會越來越多。改一下吧:

static int[] Fun(int begin, int len){        ICollection<int> oldArr = new List<int>();        for (int i = begin; i <= len; i++)        {            oldArr.Add(i);        }        int[] newArr = new int[len - begin + 1];        Random ran = new Random();        int index = 0;        while (oldArr.Count() > 0)        {             int temp = oldArr.ElementAt(ran.Next(0, oldArr.Count()));             newArr[index++] = temp;             oldArr.Remove(temp);        }        return newArr;}

先生成一個指定范圍的集合,隨機取集合的下標加到數組里,再刪除集合里的元素。這樣不用那么多判斷,遍歷兩次就行了。

二、1-2+3-4+5。。。+m 求這個表達式的結果,用多種思路

筆試的時候只寫出了這種,當時腦子一片空白,遞歸的死活都不知道怎么寫。

static int Fun2(int Num){        int i = 1;        int result = 1;        while (Num > i)        {             if (i % 2 == 0)                 result += ++i;             else                 result -= ++i;        }            return result;}

回家想想我怎么當時那么蠢,這么簡單的遞歸都沒寫出來。。

static int Fun(int Num){        if (Num == 1)                return 1;        if (Num % 2 == 0)                return Fun(Num - 1) - Num;        else                return Fun(Num - 1) + Num;}

三、下面的類B 在實例化是,會打印出什么結果?

class A{        public A()        {            Display();        }        public virtual void Display(){}}class B : A{        int x = 1;        int y;        public B()        {            y = 2;        }        public override void Display()        {            Console.Write(string.Format("x={0},y={1}", x, y));        }}

結果是 x=1,y=0;類在實例化時會先調用父類構造函數,也就是說,先調用最頂端的父類的構造函數,然后是依次調用子類構造函數;在這道題中是先執行A的構造函數。A的構造函數調用Display方法,因為此方法被子類重寫,所以調用的重寫后的。此時X=1,由于還沒調用B的構造函數所以Y的值是分配棧空間時默認的0。所以最終的結果是x=1,y=0

筆試時碰到的題很多,大部分都是網上被轉發爛的,公司自己出題的很少。今天先記錄這三道題,以后想起來了再繼續;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赣州市| 高清| 托克逊县| 右玉县| 额济纳旗| 旬阳县| 桐城市| 仙桃市| 乌兰浩特市| 仲巴县| 闻喜县| 盈江县| 广南县| 奉新县| 苏州市| 聂荣县| 梨树县| 洱源县| 霍山县| 甘孜县| 孙吴县| 马山县| 尼木县| 临澧县| 武隆县| 丘北县| 长寿区| 弋阳县| 建昌县| 德惠市| 弥渡县| 密山市| 锡林浩特市| 平顶山市| 阳东县| 赞皇县| 淮阳县| 毕节市| 孝昌县| 筠连县| 怀宁县|