日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

凹数科技笔试

發布時間:2023/12/2 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 凹数科技笔试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Java

1、成員變量作用域public/protected/defaultprivate/區別?

public:該成員變量或其方法對當前類、同一包、子類、其他包都可見,所有類和對象都可以直接訪問。

protected:該成員變量或其方法對當前類、同一包、子類都可見。

default:該成員變量或其方法對當前類、同一包可見,子類與該成員變量所在的父類位于同一包,子類可以訪問,否則不能。

private:該成員變量或其方法只對當前類可見。

2、Override(覆蓋)和Overload(重載)區別?

重載和覆蓋是Java多態性的不同表現方式。

覆蓋是子類函數覆蓋基類函數,覆蓋一個方法并對其重寫以達到不同的作用。

Note:

  • 子類中的覆蓋方法必須父類中被覆蓋的方法有相同的函數名和參數。
  • 子類中覆蓋方法的返回值必須和父類中被覆蓋方法的返回值相同。
  • 子類中覆蓋方法所拋出的異常類必須和父類中被覆蓋方法相同。
  • 父類中被覆蓋方法不能為private,負責子類只是定義了一個新方法而不是覆蓋。

重載是通過不同的參數列表來區分,如不同的參數個數,參數類型,參數順序。

Note:

  • 不能通過方法的訪問權限、返回值類型,拋出異常類型來區分重載。
  • 對于繼承來說,如果父類方法的訪問權限為private,就不能在子類中對其重載,只是新定義的一個方法。

覆蓋與重載的區別:

1)Override是子類與父類之間的關系,是垂直關系;Overload 是同一個類中方法之間的關系,是水平關系。

2)覆蓋關系中,是根據對象的類型決定調用哪個方法(父類或子類的);重載是根據參數列表的不同決定調用哪個方法。

3)覆蓋要求參數列表相同,重載不同。

4)覆蓋只能由一個方法或由一對方法產生關系;重載是多個方法之間的關系。

3、ArrayList與Vector區別?

均在java.util包中,均為可伸縮數組,可以動態改變長度。兩者都是基于存儲元素的Object[] array實現的,在內存中開辟連續的空間來存儲,支持用下標訪問。ArrayList和Vector都有一個初始化的容量大小,當超過時,Vector默認擴充為原來的2倍,ArrayList默認擴充為原來的1.5倍。

最大區別:同步( synchronization)的使用,ArrayList的方法都不是同步的,Vector的大部分方法是同步的(add/insert/remove等)。Vector是線程安全的,提供了線程安全機制,因此其性能上要略遜于ArrayList;ArrayList不是線程安全的

4、HahMap與HashTable區別?(待補充)

5、類加載器class loader加載類的步驟?Java提供的類加載器有?

見(Tanks):http://blog.csdn.net/gjanyanlig/article/details/6818655

6、閱讀程序填空,輸出,有關Java程序初始化順序(static、構造函數)

二、數據結構

7、給出前序遍歷判斷不可能的中序順序。

8、鄰接表,給出鄰接表寫出深度優先廣度優先,偽代碼

見(Tanks):https://segmentfault.com/a/1190000002685939

三、操作系統

9、臨界區、互斥量、信號量、事件概念,Java中怎么實現?

見(Thanks):http://blog.csdn.net/vividonly/article/details/6415748 ?Java中怎么實現?(待解決)

10、進程調度算法有?區別?適用場合?

11、進程的狀態有?三個基本狀態:運行、就緒、阻塞 。見:http://blog.sina.com.cn/s/blog_7c03bb1f0100wcco.html

12、進程的數據結構?

13、實現復數Complex類,支持加減

public class ComplexDemo { // main方法 public static void main(String[] a) { Complex b = new Complex(2, 5); Complex c = new Complex(3, -4); System.out.println(b + "+" + c + "=" + b.add(c)); System.out.println(b + "-" + c + "=" + b.minus(c)); System.out.println(b + "*" + c + "=" + b.multiply(c)); System.out.println(b + "/" + c + "=" + b.divide(c)); } } // Complex類 class Complex { private double m;// 實部 private double n;// 虛部 public Complex(double m, double n) { this.m = m; this.n = n; } // add public Complex add(Complex c) { return new Complex(m + c.m, n + c.n); } // minus public Complex minus(Complex c) { return new Complex(m - c.m, n - c.n); } // multiply public Complex multiply(Complex c) { return new Complex(m * c.m - n * c.n, m * c.n + n * c.m); } // divide public Complex divide(Complex c) { double d = Math.sqrt(c.m * c.m) + Math.sqrt(c.n * c.n); return new Complex((m * c.m + n * c.n) / d, Math.round((m * c.n - n * c.m) / d)); } public String toString() { String rtr_str = ""; if (n > 0) rtr_str = "(" + m + "+" + n + "i" + ")"; if (n == 0) rtr_str = "(" + m + ")"; if (n < 0) rtr_str = "(" + m + n + "i" + ")"; return rtr_str; } }運行結果:

13、編程:線程A不斷向隊列Queue寫數據,線程B不斷向隊列Queue讀數據。

已上傳至GitHub:https://github.com/HiSunny/InterviewXianChengQue

總結

以上是生活随笔為你收集整理的凹数科技笔试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。