筆試那些事兒(常見)

昨天參加了某公司的校招筆試,整體來說題目算比較簡單,但是在做的時(shí)候,才發(fā)現(xiàn)有些概念記得不是很清楚,所以在此把遇到的又覺得比較容易弄混的問題記下來,以后也會(huì)采用這種方式總結(jié)經(jīng)驗(yàn)哈。

首先出場的就是常見的 ++i 和 i++ ,關(guān)于這個(gè)不是說難,就是容易記混淆,可以自己寫段代碼看看具體效果
public class Test { public static void main(String[] args) { int i = 0,j = 0; int a = ++i; int b = j++; System.out.println("i = " + i + " " + "j = " + j); System.out.println("a = " + a + " " + "b = " + b); } }
下面是輸出結(jié)果

輸出結(jié)果.PNG

可以看到,最后a和b的值不一樣,這就是我們經(jīng)常說的++i 是先加1然后再參與計(jì)算,而 i++則是先參與計(jì)算,再加1. 對于int a = ++i相當(dāng)于是先執(zhí)行了i=i+1;再執(zhí)行int a =i,而對于int b = j++則是相當(dāng)于先執(zhí)行了int b = j,再執(zhí)行j=j+1

PS:其實(shí)這樣記就很簡單了,i和j就是主角嘍,++就是主角要干事了,參與計(jì)算就是好事來了。把自己放在前面的,就是貪圖私利,萬事以己為先的人,那么好事來了,當(dāng)然先去理會(huì)好事嘍,即先參與好事(計(jì)算),之后才注意到自己原來的事(自加1)。而另外一個(gè)則是相反嘍

接下來的就是常見的筆試題目了。關(guān)于String, StringBuffer,StringBuilder的區(qū)別,如下:
對于由String定義的字符串來說,每一次改變字符串都會(huì)新增加一個(gè)對象,如String a = “hah”;String a = a + “hih”;在第二個(gè)語句中改變a時(shí),就會(huì)新new一個(gè)String對象(值得注意的是,String本身是一個(gè)類而不是基本數(shù)據(jù)類型);而StringBuilderStringBuffer,在每次操作字符串時(shí)則不會(huì)新增對象,而是直接操作原對象;StringBuilder類和StringBuffer類基本是相同的,主要的區(qū)別就在于StringBuffer類是線程安全的,在多線程訪問時(shí)起保護(hù)作用。

關(guān)于MVC設(shè)計(jì)模式的理解
MVC 模式是一種軟件架構(gòu)模式,把軟件系統(tǒng)分成三個(gè)部分:模型(Model)、視圖(View)、控制器(Controller)
模型(Model):應(yīng)用程序的主體部分,程序員在此編寫應(yīng)有的功能,當(dāng)數(shù)據(jù)發(fā)生改變時(shí),它負(fù)責(zé)通知視圖部分,一個(gè)模型可以為多個(gè)視圖提供數(shù)據(jù)。
視圖(View):視圖即為用戶看到的界面,可以與用戶進(jìn)行交互,視圖可以根據(jù)由模型傳遞的數(shù)據(jù)來進(jìn)行視圖的更新
控制器(Controller):主要是負(fù)責(zé)安排模型和視圖來處理相應(yīng)的請求,調(diào)用模型來響應(yīng)請求并在視圖中反應(yīng)處理后的結(jié)果使用該模式的目的:實(shí)現(xiàn)動(dòng)態(tài)程序設(shè)計(jì),使程序的部分重用成為可能,同時(shí)使程序結(jié)構(gòu)更為直觀
簡圖如下:  

MVC.png

還遇到一個(gè)讀程序題,大致如下
public class Test { public static void main(String[] args) { int i = 0; for(f('A'); f('B') && i<2; f('D')){ i++; f('C'); } } static boolean f(char a){ System.out.print(a); return true; } }
求輸出結(jié)果?
這道題主要就是在于那個(gè)for循環(huán),在執(zhí)行for循環(huán)時(shí),順序是這樣的
for(1; 2; 4){ 3; }
1處是最先執(zhí)行的,一般是定義變量,如 int = 0,執(zhí)行一次后就不再執(zhí)行
2處是接下來執(zhí)行的,用于定義循環(huán)的限制條件
3處是循環(huán)中的內(nèi)容
4處是最后執(zhí)行的
題中就是把常見的for循環(huán)里面的條件及內(nèi)容都換成了一個(gè)函數(shù),最終輸出的結(jié)果是 ABCDBCDB

最后就是算法類題目了,這次在做題時(shí)才發(fā)現(xiàn)自己把冒泡排序和選擇排序弄混淆了,兩個(gè)排序法乍一看還真是有那么點(diǎn)相像啊
相同點(diǎn):都是一次選出一個(gè)最值
不同點(diǎn):冒泡中相鄰元素滿足排序要求則會(huì)直接進(jìn)行交換。而選擇排序中則是每相鄰的比較時(shí),把最值的那個(gè)的序號(hào)保存下來,最終獲得待排序數(shù)組的最值的序號(hào),然后與待排序數(shù)組中第一個(gè)值進(jìn)行交換

冒泡(從小到大排):
for(int i = 1; i < length; i ++){ for(int j = 0; j < length - i; j ++){ if(array[j] > array[j + 1]){ int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; }           }
選擇(從小到大排):
for(int i = 0; i < length; i ++){ int minIndex = i; for(int j = i + 1; j < length; j ++){ if(array[j] < array[minIndex]){ minIndex = j; } } if(minIndex != i){ int temp = array[minIndex]; array[minIndex] = array[i]; array[i] = temp; } }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,578評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,701評論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,691評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,974評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,694評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,026評論 1 329
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,015評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,193評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,719評論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,442評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,668評論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,151評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,846評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,255評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,592評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,394評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,765評論 0 33
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,738評論 18 399
  • 一、 1、請用Java寫一個(gè)冒泡排序方法 【參考答案】 public static void Bubble(int...
    獨(dú)云閱讀 1,408評論 0 6
  • Java經(jīng)典問題算法大全 /*【程序1】 題目:古典問題:有一對兔子,從出生后第3個(gè)月起每個(gè)月都生一對兔子,小兔子...
    趙宇_阿特奇閱讀 1,894評論 0 2
  • 偶爾會(huì)覺得,生活就是無休止的煩惱糾纏的總和。想要健健康康,卻總是身體不適;想要安然入睡,卻總是失眠多夢;想要平靜度...
    糖糖婉兒閱讀 331評論 0 1