轉(zhuǎn)載請(qǐng)注明原創(chuàng)出處,謝謝!
- GitHub: @Ricco
這對(duì)于我來(lái)說(shuō)也許是世界上最草率的一次面試聊天,但讓我感受頗多。
本來(lái)我不想寫(xiě)太多基礎(chǔ)的東西,但是這個(gè)坑我踩了,還摔了一跤,為了防止以后繼續(xù)出現(xiàn)這樣的失誤,所以我還是覺(jué)得應(yīng)該寫(xiě)出來(lái),給自己敲一個(gè)警鐘,也給正在讀這篇文章的你,留下一點(diǎn)思考。
問(wèn)題的提出與回答.png
簡(jiǎn)單的寒暄,了解了我的基本情況,開(kāi)始了技術(shù)面試,沒(méi)想到,第一題的Java基礎(chǔ)我就GG了,藍(lán)瘦香菇!
面試官告訴我怎么回答.png
我決定按照面試官給的建議寫(xiě)這篇文章,不得不說(shuō),面試官的思路很清晰。
關(guān)鍵字
- 關(guān)鍵字是電腦語(yǔ)言里事先定義的,有特別意義的標(biāo)識(shí)符,有時(shí)又叫保留字,還有特別意義的變量。
- Java的關(guān)鍵字對(duì)Java的編譯器有特殊的意義,他們用來(lái)表示一種數(shù)據(jù)類型,或者表示程序的結(jié)構(gòu)等,關(guān)鍵字不能用作變量名、方法名、類名、包名和參數(shù)。
- Java語(yǔ)言規(guī)定關(guān)鍵字不能作為標(biāo)識(shí)符。
Java關(guān)鍵字
| 關(guān)鍵字 | 備注 | |
|---|---|---|
| 保留字 | ||
| 1-1 | const | |
| 1-2 | goto | |
| 訪問(wèn)修飾符 | ||
| 2-1 | public | 4√所有 |
| 2-2 | protected | 3√自己+子類 |
| 2-3 | default | 2√同包 |
| 2-4 | private | 1√自己 |
| 面向?qū)ο?/td> | ||
| 3-1 | class | 類 |
| 3-2 | abstract | 抽象,天生當(dāng)?shù)?/td> |
| 3-3 | extends | 繼承,BaseXXX |
| 3-4 | interface | 接口,Retrofit |
| 3-5 | implements | 實(shí)現(xiàn)接口 |
| 3-6 | new | 創(chuàng)建新對(duì)象 |
| 包 | ||
| 4-1 | import | 引入 |
| 4-2 | package | 定義,第一行 |
| 數(shù)據(jù)類型 | ||
| 5-1 | boolean | |
| 5-2 | byte | 1 |
| 5-3 | char | 2,Charater |
| 5-4 | short | 2 |
| 5-5 | int | 4,Integer |
| 5-6 | float | 4 |
| 5-7 | long | 8 |
| 5-8 | double | 8 |
| 5-9 | void | 無(wú)返回值 |
| 5-10 | null | 恐怖,null≠"" |
| 5-11 | true | |
| 5-12 | false | |
| 流程控制 | ||
| 6-1 | if | |
| 6-2 | else | |
| 6-3 | while | |
| 6-4 | do | |
| 6-5 | switch | |
| 6-6 | case | 類型 |
| 6-7 | default | |
| 6-8 | for | |
| 6-9 | break | 跳出循環(huán) |
| 6-10 | continue | 中斷本次循環(huán) |
| 6-11 | return | 返回 |
| 6-12 | instanceof | 雙目運(yùn)算符,重寫(xiě)equal |
| 修飾 | ||
| 7-1 | static | 靜態(tài),塊,單例 |
| 7-2 | final | 最終,常量 |
| 7-3 | super | 調(diào)用父類的方法 |
| 7-4 | this | |
| 7-5 | native | 本地,JNI,NDK開(kāi)發(fā) |
| 7-6 | synchronized | 線程,同步,鎖 |
| 7-7 | strictfp | 浮點(diǎn)運(yùn)算更加精確 |
| 7-8 | transient | 不能被序列化 |
| 7-9 | volatile | 不能解決并發(fā)問(wèn)題 |
| 異常處理 | ||
| 8-1 | try | 捕獲 |
| 8-2 | catch | 處理 |
| 8-3 | finally | 有沒(méi)有異常都執(zhí)行 |
| 8-4 | throw | 拋出一個(gè)異常對(duì)象 |
| 8-5 | throws | 聲明一個(gè)異常可能被拋出 |
| 其他 | ||
| 9-1 | enum | 枚舉 |
| 9-2 | assert | 斷言 |
簡(jiǎn)單自定義LogUtils,throw
public class LogUtils {
public static final boolean isDebug = true;
// 是否需要打印bug,可以在application的onCreate函數(shù)里面初始化,或者直接修改為false
// 必要時(shí)加入日志存儲(chǔ)功能,方便用戶反饋
private LogUtilS() {
/* cannot be instantiated,不能被實(shí)例化 */
throw new UnsupportedOperationException("cannot be instantiated");
}
public static void v(String tag, String msg) {
if (isDebug) {
Log.v(tag, msg);
}
}
public static void d(String tag, String msg) {
if (isDebug) {
Log.d(tag, msg);
}
}
public static void i(String tag, String msg) {
if (isDebug) {
Log.i(tag, msg);
}
}
public static void e(String tag, String msg) {
if (isDebug) {
Log.e(tag, msg);
}
}
}
當(dāng)面試官說(shuō)出清華倆字的時(shí)候,讓我想起了以前和一位研究生爭(zhēng)3000塊工資的事,求你們,給專科生,非985/211的同學(xué)一點(diǎn)機(jī)會(huì)。
清華都瘋了嗎?
我嚴(yán)重懷疑現(xiàn)在Android就業(yè)不景氣,不是培訓(xùn)機(jī)構(gòu)的過(guò),是清華的過(guò)。你都清華北大了,干什么3/4k的活?。磕愠鰜?lái)干個(gè)3/4的活,大學(xué)在清華干什么?

