转载请注明原创出处,谢谢!
- GitHub: @Ricco
这对于我来说也许是世界上最草率的一次面试聊天,但让我感受颇多。
本来我不想写太多基础的东西,但是这个坑我踩了,还摔了一跤,为了防止以后继续出现这样的失误,所以我还是觉得应该写出来,给自己敲一个警钟,也给正在读这篇文章的你,留下一点思考。
问题的提出与回答.png
简单的寒暄,了解了我的基本情况,开始了技术面试,没想到,第一题的Java基础我就GG了,蓝瘦香菇!
面试官告诉我怎么回答.png
我决定按照面试官给的建议写这篇文章,不得不说,面试官的思路很清晰。
关键字
- 关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。
- Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。
- Java语言规定关键字不能作为标识符。
Java关键字
| 关键字 | 备注 | |
|---|---|---|
| 保留字 | ||
| 1-1 | const | |
| 1-2 | goto | |
| 访问修饰符 | ||
| 2-1 | public | 4√所有 |
| 2-2 | protected | 3√自己+子类 |
| 2-3 | default | 2√同包 |
| 2-4 | private | 1√自己 |
| 面向对象 | ||
| 3-1 | class | 类 |
| 3-2 | abstract | 抽象,天生当爹 |
| 3-3 | extends | 继承,BaseXXX |
| 3-4 | interface | 接口,Retrofit |
| 3-5 | implements | 实现接口 |
| 3-6 | new | 创建新对象 |
| 包 | ||
| 4-1 | import | 引入 |
| 4-2 | package | 定义,第一行 |
| 数据类型 | ||
| 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 | 无返回值 |
| 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 | 跳出循环 |
| 6-10 | continue | 中断本次循环 |
| 6-11 | return | 返回 |
| 6-12 | instanceof | 双目运算符,重写equal |
| 修饰 | ||
| 7-1 | static | 静态,块,单例 |
| 7-2 | final | 最终,常量 |
| 7-3 | super | 调用父类的方法 |
| 7-4 | this | |
| 7-5 | native | 本地,JNI,NDK开发 |
| 7-6 | synchronized | 线程,同步,锁 |
| 7-7 | strictfp | 浮点运算更加精确 |
| 7-8 | transient | 不能被序列化 |
| 7-9 | volatile | 不能解决并发问题 |
| 异常处理 | ||
| 8-1 | try | 捕获 |
| 8-2 | catch | 处理 |
| 8-3 | finally | 有没有异常都执行 |
| 8-4 | throw | 抛出一个异常对象 |
| 8-5 | throws | 声明一个异常可能被抛出 |
| 其他 | ||
| 9-1 | enum | 枚举 |
| 9-2 | assert | 断言 |
简单自定义LogUtils,throw
public class LogUtils {
public static final boolean isDebug = true;
// 是否需要打印bug,可以在application的onCreate函数里面初始化,或者直接修改为false
// 必要时加入日志存储功能,方便用户反馈
private LogUtilS() {
/* cannot be instantiated,不能被实例化 */
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);
}
}
}
当面试官说出清华俩字的时候,让我想起了以前和一位研究生争3000块工资的事,求你们,给专科生,非985/211的同学一点机会。
清华都疯了吗?
我严重怀疑现在Android就业不景气,不是培训机构的过,是清华的过。你都清华北大了,干什么3/4k的活啊?你出来干个3/4的活,大学在清华干什么?

