中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      軟件研發(fā)工程師筆試題目及答案分享

      時(shí)間:2024-11-04 22:19:56 飛宇 筆試題目 我要投稿
      • 相關(guān)推薦

      軟件研發(fā)工程師筆試題目及答案分享

        筆試之前先找些相關(guān)公司的筆試題目來(lái)練練手吧,做到心里有數(shù)總不會(huì)錯(cuò)的。以下是由應(yīng)屆畢業(yè)生網(wǎng)小編J.L為您整理推薦的筆試題目和筆試經(jīng)驗(yàn),歡迎參考閱讀。

      軟件研發(fā)工程師筆試題目及答案分享

        軟件研發(fā)工程師筆試題目及答案分享 1

        請(qǐng)?jiān)?0分鐘內(nèi)作答

        一、選擇題

        1、哪個(gè)類是所有異常的基礎(chǔ)類 C

        A.String B.Error C.Throwable D.RuntimeException

        2、設(shè)float x = 1,y = 2,z = 3,則表達(dá)式 y+=z--/++x的值是:(A)

        A. 3.5 B. 3 C. 4 D. 5

        3、下列說(shuō)法正確的是(B )

        A.在類方法中可用this來(lái)調(diào)用本類的類方法 B.在類方法中調(diào)用本類的類方法時(shí)可直接調(diào)用

        C.在類方法中只能調(diào)用本類中的類方法 D.在類方法中絕對(duì)不能調(diào)用實(shí)例方法

        4、根據(jù)下面的程序代碼,哪些選項(xiàng)的值返回true

        public class Square {

        long width;

        public Square(long l) {

        width = l;

        }

        public static void main(String arg[]) {

        Square a, b, c;

        a = new Square(42L);

        b = new Square(42L);

        c = b;

        long s = 42L;

        }

        }

        A.a == b; B.s == a; C.b == c; D.a.equals(s)

        equals() 是Object類的一個(gè)方法,指示某個(gè)其他對(duì)象是否與此對(duì)象“相等”。由于類 Object 是類層次結(jié)構(gòu)的根類。所以它是每個(gè)類的超類。所示每個(gè)類都可以重寫(xiě)equals()方法,如String類。如果沒(méi)有重寫(xiě)(override)新類的 equals(),則該方法和 == 操作符一樣在兩個(gè)變量指向同一對(duì)象時(shí)返回真,但是Java推薦的是使用equals()方法來(lái)判斷兩個(gè)對(duì)象的內(nèi)容是否一樣。考察“==”及方法 “equals()”的用法。注意以下幾點(diǎn)區(qū)別。

        引用類型比較引用;基本類型比較值。

        equals()方法只能比較引用類型,“==”可比較引用及基本類型。

        用equals()方法進(jìn)行比較時(shí),對(duì)類File、String、Date及封裝類(Wrapper Class)來(lái)說(shuō),是比較類型及內(nèi)容。

        用==”進(jìn)行比較時(shí),符號(hào)兩邊的數(shù)據(jù)類型必須一致(可相互轉(zhuǎn)換的基本類型除外),否則編譯出錯(cuò)。

        在此題中,因?yàn)閍,b,c是三個(gè)對(duì)象面,但是c=b這條語(yǔ)句,將c的內(nèi)存地址指向了b,所以c和b指向了同一個(gè)地址,相當(dāng)于c和b是同一個(gè)對(duì)象,由于== 操作符只有當(dāng)兩個(gè)變量指向同一對(duì)象時(shí)返回真,故C是正確的。

        5. 下面選項(xiàng)中,哪個(gè)選項(xiàng)的內(nèi)容可以作為FilEinputStream類的構(gòu)造方法的參數(shù)

        A.File B.String C.InputStream D.FileOutputStream

        主要參考FileInputStream的構(gòu)造方法,F(xiàn)ileInputStream類的構(gòu)造方法有3個(gè),可接受的參數(shù)分別是:File、FileDescriptor、String類的一個(gè)對(duì)象

        6. 在下面程序標(biāo)明的位置處插入哪條語(yǔ)句會(huì)導(dǎo)致編譯錯(cuò)誤

        public class FinalUse {

        public static void main(String[] args) {

        int x = 0;

        final int y = 1;

        int[] z = { 2 };

        final int[] n = { 3 };

        Use(x, y, z, n);

        }

        static void Use(final int x, int y, final int[] z, int[] n) {

        // 插入內(nèi)容

        }

        }

        請(qǐng)選擇兩個(gè)正確的答案:

        A.x++ B.y++ C.y=x D.z[0]++ E.n[0]++ F.z=n

        【試題分析】聲明形參的時(shí)候可以在方法調(diào)用的參數(shù)調(diào)用之前加上關(guān)鍵字final。final參數(shù)也可以叫做空白最終變量,也可以當(dāng)作常量。即在對(duì)其賦值之前(例如方法調(diào)用之前),該變量為空(為初始化),賦值之后,在該變量的生存周期內(nèi)只能調(diào)用再也不能改變變量的值。final變量只可以被賦值一次。在方法調(diào)用時(shí),final形式參數(shù)被賦予實(shí)際參數(shù)的值。在方法內(nèi)部,不能對(duì)final參數(shù)進(jìn)行重新賦值或者是修改。

        

        在Use方法中,x是final類型的,因此A選項(xiàng)中x++表示是可以改變x的值的,所以A會(huì)導(dǎo)致編譯錯(cuò)誤。y,n[0]是int變量,所以y, n[0]值是可以變化的,因此插入B和E選項(xiàng)都會(huì)編譯通過(guò)的。C選項(xiàng)是把x的值賦給y,改變是y的內(nèi)容,不會(huì)改變x的值,所以插入C選項(xiàng)會(huì)編譯通過(guò)的。在 D選項(xiàng)中,由于z是個(gè)int型數(shù)組,它是屬于復(fù)合類型,在進(jìn)行值傳遞的時(shí)候,傳給形參的是地址值,而不是內(nèi)容,因此final int[] z就表示z數(shù)組不能在指向其他的數(shù)組對(duì)象,但是z數(shù)組中的內(nèi)容是可以改變的,因此z[0]++表示的是內(nèi)容上的改變,所以是沒(méi)有錯(cuò)誤的,可以編譯通過(guò)的。 F選項(xiàng)正好與D選項(xiàng)相反,同理,F(xiàn)就是錯(cuò)誤的。

        【參考答案】AF

        7.下面程序運(yùn)行后的結(jié)果是什么

        Public class Test{

        Static Boolean foo(char c){

        System.out.print(c);

        Return true;

        }

        Public static void main(String[] argv){

        int i=0;

        For(foo(‘A’);foo(‘B’)&&(i<2);foo(‘C’)){

        i++;

        foo(‘D’);

        }

        }

        }

        A.ABDCBDCB B.ABCDABCD

        C.Compilation fails. D.An exception is thrown at runtime.

        二、代碼查錯(cuò)

        1.abstract class Name {

        private String name;

        public abstract boolean isStupidName(String name) {}

        }

        解釋何錯(cuò)誤 并更正

        大括號(hào)錯(cuò)誤

        2. public class Something {

        public static void main(String[] args) {

        Something s = new Something();

        System.out.println("s.doSomething() returns " + doSomething());

        }

        public String doSomething() {

        return "Do something ...";

        }

        }

        答案: 錯(cuò)。看上去在main里call doSomething沒(méi)有什么問(wèn)題,畢竟兩個(gè)methods都在同一個(gè)class里。但仔細(xì)看,main是static的。static method不能直接call non-static methods。可改成"System.out.println("s.doSomething() returns " + s.doSomething());"。同理,static method不能訪問(wèn)non-static instant variable。

        三、簡(jiǎn)答題

        1、談?wù)凜ollection 和Collections

        2、請(qǐng)說(shuō)出String與StringBuffer、StringBuilder的區(qū)別

        String的`長(zhǎng)度是不可變的,StringBuffer的長(zhǎng)度是可變的。如果你對(duì)字符串中的內(nèi)容經(jīng)常進(jìn)行操作,特別是內(nèi)容要修改時(shí),那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法。

        3、abstract class(抽象類)和interface(接口)有什么區(qū)別

        【試題分析】抽象類的特征如下:

        抽象類和抽象方法都必須用abstract關(guān)鍵字來(lái)修飾。

        抽象類不能被實(shí)例化,也就是不能用new關(guān)鍵字去產(chǎn)生對(duì)象。

        抽象方法只需聲明,而不需實(shí)現(xiàn)。

        抽象方法必須定義在抽象類中,抽象類的子類必須實(shí)現(xiàn)父類中的抽象方法,否則這個(gè)子類還是個(gè)抽象類。

        接口的特征如下:

        接口沒(méi)有構(gòu)造方法。

        接口中聲明變量均為終極(final)的、靜態(tài)(static)的和公共(public)的。

        接口是定義的方法均為抽象的和公共的。

        接口里的數(shù)據(jù)成員必須初始化,且數(shù)據(jù)成員均為常量。

        【參考答案】聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽象類(abstract class),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向具體子類的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實(shí)現(xiàn),否則它們也是抽象類為。取而代之,在子類中實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中實(shí)現(xiàn)這些方法。

        

        接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過(guò)實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒(méi)有一個(gè)有程序體。接口只可以定義static final成員變量。接口的實(shí)現(xiàn)與子類相似,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類的任何對(duì)象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動(dòng)態(tài)聯(lián)編將生效

        4、request.getAttribute() 和 request.getParameter() 有何區(qū)別

        5、簡(jiǎn)述下Servlet生命周期

        6、 談?wù)勀沩?xiàng)目中用到的設(shè)計(jì)模式及如何使用的

        7、你一般用spring、hibernate、struts做什么

        四、代碼實(shí)現(xiàn)

        1、編寫(xiě)SQL語(yǔ)句

        Student(S#,Sname,Sage,Ssex) 學(xué)生表

        Course(C#,Cname,T#) 課程表

        SC(S#,C#,score) 成績(jī)表

        Teacher(T#,Tname) 教師表

        1) 查詢平均成績(jī)大于60分的同學(xué)的學(xué)號(hào)和平均成績(jī)

        select S#,avg(score)

        from sc

        group by S# having avg(score) >60;

        2) 查詢所有同學(xué)的學(xué)號(hào)、姓名、選課數(shù)、總成績(jī);

        select Student.S#,Student.Sname,count(SC.C#),sum(score)

        from Student left Outer join SC on Student.S#=SC.S#

        group by Student.S#,Sname

        3) 查詢沒(méi)學(xué)過(guò)“葉平”老師課的同學(xué)的學(xué)號(hào)、姓名

        select Student.S#,Student.Sname

        from Student

        where S# not in (select distinct( SC.S#) from SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname=’葉平’);

        2、第1個(gè)人10,第2個(gè)比第1個(gè)人大2歲,依次遞推,請(qǐng)用遞歸方式計(jì)算出第8個(gè)人多大

        用java語(yǔ)言實(shí)現(xiàn),,請(qǐng)編一段程序?qū)崿F(xiàn)!

        package cn.itcast;

        import java.util.Date;

        publicclass A1 {

        public static voidmain(String [] args)

        {

        System.out.println(computeAge(8));

        }

        public static int computeAge(intn)

        {

        if(n==1)return 10;

        returncomputeAge(n-1) + 2;

        }

        }

        public static voidtoBinary(int n,StringBuffer result)

        {

        if(n/2 != 0)

        toBinary(n/2,result);

        result.append(n%2);

        }

        3、實(shí)現(xiàn)一個(gè)快速排序

        本人只研究過(guò)冒泡排序、選擇排序和快速排序,下面是快速排序的代碼:

        public class QuickSort {

        /**

        * 快速排序

        * @param strDate

        * @param left

        * @param right

        */

        public void quickSort(String[] strDate,int left,int right){

        String middle,tempDate;

        int i,j;

        i=left;

        j=right;

        middle=strDate[(i+j)/2];

        do{

        while(strDate[i].compareTo(middle)<0&& i

        i++; //找出左邊比中間值大的數(shù)

        while(strDate[j].compareTo(middle)>0&& j>left)

        j--; //找出右邊比中間值小的數(shù)

        if(i<=j){ //將左邊大的數(shù)和右邊小的數(shù)進(jìn)行替換

        tempDate=strDate[i];

        strDate[i]=strDate[j];

        strDate[j]=tempDate;

        i++;

        j--;

        }

        }while(i<=j); //當(dāng)兩者交錯(cuò)時(shí)停止

        if(i

        quickSort(strDate,i,right);//從

        }

        if(j>left){

        quickSort(strDate,left,j);

        }

        }

        /**

        * @param args

        */

        public static void main(String[] args){

        String[] strVoid=newString[]{"11","66","22","0","55","22","0","32"};

        QuickSort sort=new QuickSort();

        sort.quickSort(strVoid,0,strVoid.length-1);

        for(int i=0;i

        System.out.println(strVoid[i]+" ");

        軟件研發(fā)工程師筆試題目及答案分享 2

        一、編程語(yǔ)言類

        題目 1:以下 C++ 代碼輸出結(jié)果是什么?

        #include

        using namespace std;

        int main() {

        int a = 10;

        int &b = a;

        b = 20;

        cout << a << endl;

        return 0;

        }

        答案:20。因?yàn)?b 是 a 的引用,對(duì) b 的操作就是對(duì) a 的操作。

        題目 2:在 Java 中,以下代碼有什么問(wèn)題?

        java

        public class Main {

        public static void main(String[] args) {

        int[] array = new int[5];

        System.out.println(array[5]);

        }

        }

        答案:這段代碼會(huì)拋出 ArrayIndexOutOfBoundsException,因?yàn)閿?shù)組索引是從 0 開(kāi)始的,長(zhǎng)度為 5 的數(shù)組最大索引為 4。

        二、數(shù)據(jù)結(jié)構(gòu)類

        題目 1:簡(jiǎn)述二叉搜索樹(shù)(BST)的特點(diǎn)。

        答案:

        若它的左子樹(shù)不空,則左子樹(shù)上所有結(jié)點(diǎn)的值均小于它的根結(jié)點(diǎn)的值。

        若它的右子樹(shù)不空,則右子樹(shù)上所有結(jié)點(diǎn)的值均大于它的根結(jié)點(diǎn)的值。

        它的左、右子樹(shù)也分別為二叉搜索樹(shù)。

        題目 2:請(qǐng)用代碼實(shí)現(xiàn)一個(gè)簡(jiǎn)單的棧(以數(shù)組實(shí)現(xiàn)為例,使用 Java)。

        java

        class Stack {

        private int[] stackArray;

        private int top;

        public Stack(int capacity) {

        stackArray = new int[capacity];

        top = -1;

        }

        public void push(int element) {

        if (top < stackArray.length - 1) {

        stackArray[++top] = element;

        } else {

        // 可以選擇擴(kuò)展數(shù)組或拋出異常表示棧滿

        System.out.println("Stack is full.");

        }

        }

        public int pop() {

        if (top >= 0) {

        return stackArray[top--];

        }

        // 可以選擇拋出異常表示棧空

        System.out.println("Stack is empty.");

        return -1;

        }

        }

        三、算法類

        題目 1:用 Python 實(shí)現(xiàn)快速排序算法。

        python

        def quick_sort(lst):

        if len(lst) <= 1:

        return lst

        pivot = lst[0]

        less = [element for element in lst[1:] if element <= pivot]

        greater = [element for element in lst[1:] if element > pivot]

        return quick_sort(less) + [pivot] + quick_sort(greater)

        題目 2:有一個(gè)有序數(shù)組,其中某個(gè)元素出現(xiàn)次數(shù)超過(guò)數(shù)組長(zhǎng)度的一半,請(qǐng)找出這個(gè)元素(時(shí)間復(fù)雜度盡量低,使用 C++)。

        #include

        using namespace std;

        class Solution {

        public:

        int majorityElement(vector& nums) {

        int count = 0;

        int candidate;

        for (int num : nums) {

        if (count == 0) {

        candidate = num;

        }

        if (num == candidate) {

        count++;

        } else {

        count--;

        }

        }

        return candidate;

        }

        };

        四、操作系統(tǒng)類

        題目 1:進(jìn)程和線程的區(qū)別是什么?

        答案:

        進(jìn)程:是資源分配的'基本單位,擁有獨(dú)立的地址空間、代碼段、數(shù)據(jù)段等資源。進(jìn)程間通信相對(duì)復(fù)雜,如管道、消息隊(duì)列等。不同進(jìn)程間相互獨(dú)立,一個(gè)進(jìn)程崩潰一般不會(huì)影響其他進(jìn)程。

        線程:是 CPU 調(diào)度的基本單位,共享所屬進(jìn)程的資源,如內(nèi)存空間、文件描述符等。線程間通信相對(duì)簡(jiǎn)單,可通過(guò)共享變量等方式。一個(gè)線程崩潰可能會(huì)導(dǎo)致整個(gè)進(jìn)程崩潰。

        題目 2:什么是虛擬內(nèi)存?

        答案:虛擬內(nèi)存是計(jì)算機(jī)系統(tǒng)內(nèi)存管理的一種技術(shù)。它使得應(yīng)用程序認(rèn)為它擁有連續(xù)的可用內(nèi)存(一個(gè)連續(xù)完整的地址空間),而實(shí)際上,它通常是被分隔成多個(gè)物理內(nèi)存碎片,還有部分暫時(shí)存儲(chǔ)在外部磁盤存儲(chǔ)器上,在需要時(shí)進(jìn)行數(shù)據(jù)交換。這種技術(shù)可以讓系統(tǒng)運(yùn)行比實(shí)際物理內(nèi)存大得多的程序,提高內(nèi)存利用率和系統(tǒng)的多任務(wù)處理能力。

      【軟件研發(fā)工程師筆試題目及答案分享】相關(guān)文章:

      熱門IT軟件的筆試題目分享08-19

      思科筆試題,題目答案分享06-16

      軟件測(cè)試筆試題目分享07-06

      醫(yī)藥研發(fā)總監(jiān)輝瑞筆試題目分享10-04

      中興筆試題目分享有答案02-14

      史上最全軟件筆試題目及答案10-09

      中創(chuàng)軟件筆試主考題目分享07-25

      軟件測(cè)試筆試面試題目分享04-07

      邁瑞筆試題目硬件研發(fā)工程師09-03

      主站蜘蛛池模板: 中文字幕天天躁日日躁狠狠| 女优免费中文字幕在线| 国产小视频一区二区三区| 精品国产爱在线观看| 91网红福利精品区一区二| 亚洲成片在线看一区二区| 久久精品天堂一区二区三区| 成人影院免费观看在线播放视频| 亚洲一区二区三区在线| 视频二区精品中文字幕| 加勒比亚洲视频在线播放| 日本久久精品有码视频| 通辽市| 肥东县| 濉溪县| 承德县| 日本一区二区三区高清日韩| 高密市| 雅安市| 钟祥市| 黄浦区| 精品在免费线中文字幕久久| 阿拉善左旗| 晋州市| 加勒比熟女精品一区二区av| 97人妻无码免费专区| 舞阳县| 91精品啪在线看国产网站| 武邑县| 国产一区,二区,三区免费视频| 日本高清在线播放一区二区三区| 大名县| 无码国产精品一区二区免费式芒果 | 日韩成人精品一区二区三区| 国产后入内射在线观看| 精品久久精品久久99| 久久精品无码一区二区三区不卡 | 蜜芽尤物原创AV在线播放| 国产福利一区二区三区视频在线看| 亚洲AⅤ樱花无码| 国产伦理自拍视频在线|