2019.2.25
一面:1h 30min(面试官很nice)
1.自我介绍
2.介绍一下项目,负责什么,有什么技术难点
(我的项目只有一个,还很辣鸡,回答很诚实)
3.知道什么java设计模式
4.单例模式你知道什么写法
(饿汉,懒汉,静态内部类延迟初始化)
5.写一个你认为好的单例模式
(静态内部类延迟初始化)
6.说一下这个单例模式
(线程安全,延迟初始化)
7.解释一下为什么线程安全?
(顺便解释了为什么延迟初始化)
8.知道synchronized关键字吗?有什么作用?
9.知道volatile关键字吗?有什么作用?
10.说一下指令重排序?
11.关于java虚拟机还有什么了解的吗?
12.知道什么垃圾回收算法
(当时只知道复制算法和标记清除)
13.垃圾收集器知道吗?
(当时不了解,面后直接啃了JVM的书)
14.注解讲一下?
(讲了注解的定义,元注解,注解处理器)
15.写过注解处理器吗?
(没写过)
16.知道什么常用注解?(内置提供的那三个)
17.说一下java内存模型?
18.Activity四种启动方式
19.handler知道吗?怎么使用?什么原理?
20.handler导致的内存泄露怎么处理?
21.手撕代码,找出数组中第k大的数
(用了个小根堆,代码编译不通过,错误较多)
2019.3.5
二面:1h(二面面试官是我觉得最nice的,目测不是Android的)
1.手撕代码,两个有序链表合并成一个有序
(代码有错,忘了写迭代)
2.还是手写单例,这次写了双检锁
3.进程和线程的区别
4.一个进程能不能访问另一个进程的地址
(当时不知道,面完感觉面试官在问操作系统基础,回来又啃了操作系统基础)
5.怎么开启一个线程
7.项目中有用到什么线程同步的方法
8.线程运行完后会怎样,会被回收吗
9.tcp和udp的区别
10.(说到拥塞控制,打断)说一下拥塞控制
11.(拥塞控制)发生超时会怎样
12.自我介绍,项目遇到的困难
13.知道栈吗?栈上面除了局部变量还存储了什么?
14.知道自旋锁吗?(知道一点)
15.知道引用计数法吗,和Java GC的标记有什么区别?
16.引用计数法有什么优点?
17.有什么想问我的吗?
(问了作为前辈对20届有什么工作上的建议。透露出夸我基础好的意思,并且提到要加强实践能力)
(问了程序员的一天是怎样的。)
2019.3.8
三面:20min(leader面,面试官感觉没什么耐心听长篇的回答,气场让人紧张)
1.自我介绍
2.对我的专业有点疑问的样子(数字媒体技术)
3.问项目,细问
4.项目中有提到内存泄露,问怎么监测内存泄露
5.Android进程(忘了问的具体是什么问题)
6.Android知道什么布局,相对布局和帧布局的区别(对不起!我真的连这么简单的都没答上来,怀疑自己是怎么苟到三面的)
7.ListView RecyclerView区别
8.Android怎么开多线程
9.计算机网络,http和https区别?(紧张,没答出自己的意思)
10.https是怎么样的?能防范中间人攻击吗?
11.Java HashMap(其实我会啊!但是我还没开始讲红黑树和resize他就打断我了,显得好像我不会还拖时间那样)
12.hashMap线程安全吗?不
13.concurrentHashMap实现原理(分段锁)
14.数组和链表的区别
15.在学校成绩怎么样?(大二绩点班级第二,三等奖学金)
16.主要做什么项目,项目经验(主要做课程设计,有加入工作室的机会但因为方向不同拒绝了)
17.(20分钟面完,今天就到这里了,然后突然问)你是广东工业大学是吧?是的
18.大三是吧?是的
(然后就拜拜了)