花了幾天是時間整理了下複試的時候編程語言方面可能會問到的問題,以下就是我個人以及網上收集資料整理的關於編程語言可能會問的題目,我已經將這些題目整理到world文檔裏面去了,點擊這裏編程語言面試彙總,然後關注公衆號在後臺回覆考研面試,就可以獲得這套資源。
往期回顧
【C/C++語言】
1.C語言中static關鍵字的作用是什麼?
① 在函數體中,一個被聲明爲靜態的變量在這一函數被調用的過程中維持其值不變。
② static修飾全局變量的時候,這個全局變量只能在本文件中訪問,不能在其他文件中訪問。
③ static修飾一個函數的時候,這個函數只能在本文件中訪問,不能在其他文件中訪問。
2.C語言中const關鍵字的作用是什麼?(詳解)
C語言中const的功能是對變量聲明爲只讀特性,並保護變量值以防被修改。
3.引用和指針有什麼區別?(詳解)
① 本質上:引用是別名,指針是內存地址,指針變量是用來存放內存地址的變量。
② 引用必須初始化,指針不需要。
③ 引用初始化之後不能別改變,指針可以改變所指對象。
4.引用與值傳遞的區別是什麼?
① 值傳遞:傳遞的是一個值的副本,函數對形參的操作不會影響實參的值。
② 引用:傳遞的是引用對象的內存地址,函數對形參的操作會影響實參的值,實參的值會隨着形參的改變而改變。
5.指針和變量的自增自減有什麼區別?
指針的自增自減是改變的是指針的指向地址,變量的自增自減改變的是變量的值。
6.面向對象和麪向過程的區別是什麼?(詳解)
① 面向對象:將功能封裝到對象裏,強調的是具有某功能的對象。
② 面向過程強調的是功能行爲,一種過程,先幹什麼,在幹什麼。
【JAVA語言】
1.JAVA的三大特性是什麼?(詳解)
封裝、繼承、多態。
2.什麼是封裝?封裝的目的是什麼?
① 封裝:實際上就是把一個對象的屬性和方法歸到一個類中,以方便使用。
② 目的:增加安全性以及簡化編程,使用者無需知道具體實現細節,只要通過外部接口訪問就可以。
3.什麼是繼承?繼承的目的是什麼?
① 繼承:就是在原有類的基礎上增加新的屬性和方法,從而構造一個新的類。
② 目的:代碼複用。
4.什麼多態?多態的目的是什麼?
① 多態:指一種方法有多種實現版本,即“一種定義,多種實現”。
② 目的:增加代碼的靈活度。
5.什麼是重載?什麼是重寫?(詳解)
① 重載:指函數或者方法名相同,但參數列表不同。
② 重寫:在繼承過程中,子類定義了與父類中名稱相同,參數相同,返回值相同的方法稱爲重寫。
6.JAVA中的基本類型有哪些?(詳解)
① 整數類型:byte(1字節)、short(2字節)、int(4字節)、long(8字節)
② 浮點類型:float(4字節)、double(8字節)
③ 字符型:char(2字節)
④ 布爾類型:boolean(1字節)
7.JAVA中接口是什麼?(詳解)
接口是一系列方法的聲明,一個接口只有方法的特徵沒有方法的實現。
8.JAVA中反射是什麼?(詳解)
JAVA反射機制是在運行狀態中,對於任意一個實體類,都能夠知道這個類的所有屬性和方法。
9.JAVA中異常是什麼?
異常就是程序運行過程中出現的不正常情況。
10.JRE、JDK、JVM是什麼?
① JRE(Java Runtime Environmen)JAVA運行環境
② JDK(Java Development Kit Java)JAVA開發工具
③ JVM(Java Virtual Machine)JAVA虛擬機,它是運行所有Java程序的抽象計算機,是Java語言的運行環境。
11.說明下JAVA怎麼處理對象分配和釋放的?
① 分配:程序員通過new爲每個對象申請內存空間(基本類型除外),所有對象都在堆中分配空間。
② 釋放:對象的釋放是由垃圾回收機制決定和執行的。
12.說明下JAVA有什麼特點?(詳解)
JAVA是一種純粹的面嚮對象語言,它繼承了C++語言面嚮對象的技術核心,但是拋棄了C++的一些缺點,比如說容易引起錯誤的指針以及多繼承等,同時也增加了垃圾回收機制,釋放掉不被使用的內存空間,解決了管理內存空間的煩惱。