非常感谢牛客这个平台,通过在上面看一些大家分享的面经,也收获颇丰,所以就回馈一下牛客啦!
如果文章对您有一点帮助的话,希望您能点一下赞,您的点赞,是我前进的动力
技术面一面 时长 47 分钟(视频面试)
有些问题忘记了,记忆中就只有这些内容
- 自我介绍
- 项目有没有上线
- 项目难点
DialogFragment
内存泄漏的定位过程Leakcanary
的原理
Handler
介绍一下Handler
内存泄漏说一下- 说一下设计模式
- 手写单例
- 算法:112. 路径总和
技术面二面 时长 48 分钟(视频面试)
- 自我介绍
- 介绍一下项目
- 软件大概样式是怎样
- 首页是怎样做的
- 首页下拉刷新是怎么做的?(说了滑动冲突的处理)
view
事件分发机制怎样- 事件好几层,怎么知道是由哪个控件处理(说了根据触摸的位置啥的,不太了解对不对)
- 提到了责任链,内部链怎么分发的
- 怎么判断哪个
view
处理(根据return true/ false
)- 我们的事件有
action_move,action_down,action_cancel
,所有的事件都是一层一层往下分发吗(说了不一定,down
被拦截了,后续就收不到其他的事件了,然后提到了action_cancel
的机制)- 我听到你首页用了
recyclerView
,那他一般怎么用?- 提到了
adapter
adapter
用来干嘛?adapter
中有哪些是主要方法(说了bindView
,这块不太记得了,说项目中用到的是BRVAH
)- 提到了
ListView
- 为什么用
Rv
不用Lv
(说了1.强制实现viewHolder
(避免findViewById
) 2.缓存机制)Lv
二级缓存怎么判断这个View
是他要的?(答了postion,id
)- 然后问
id
指的是?(这里说忘记了)- 四级缓存是怎么找到
view
他要的?(说了itemType
)- 如果有相同的
itemType
怎么处理?(说了直接使用任意一个)- 如果四级缓存中找不到呢?(说了手动加载)
- 手动加载是哪里来的?(说了从布局
xml
中定义的itemtype
中拿的)xml
怎么关联到Rv
(加载代码inflate
的,不太了解)
- 堆内存和栈内存区别
- 5层网络协议包括哪些?
tcp
三次握手说一下equals
和==
区别hashmap
实现原理(说了基本结构,put
)get
是怎样实现的
智力题:
- 5升桶,3升桶,水无限,你给我装出4升水
技术面三面 时长 37 分钟(视频面试)
自我介绍
架构设计主要是什么
说一下你提到的依赖倒置
除了依赖倒置还有什么重要的原则(刚说完单一职责就被打断)
MVP注意事项(说了内存泄漏的处理)
内存泄漏的原理
怎么判断内存不能被释放
如何检测内存泄漏(说了线下用
LeakCanary
,线上用Memory profiler
,然后自己扯到DialogFragment
内存泄漏)打断,问
final
作用(说了修饰类,方法,变量,作用)非静态内部类引用外部类对象,需要
final
关键字吗?(说了应该用static
,转为静态内部类,防止内存泄漏)多线程使用过吗
说一下线程池的使用(刚说了构造方法实现)
核心线程数什么作用(说了线程池的运行流程)
核心线程数和最大线程数的设置(
IO
密集型和CPU
密集型,最大线程数的话,看系统支持的并发量)一个进程有多少个线程?(说了空间允许的范围内可以一直开辟)
实际上是多少?(说了
2g
分配的空间)为什么是2g(说了之前看过,具体原理不太清楚)
一个异步任务都开一个线程,还是多个任务开一个线程,你怎么决定开不开?(说了耗时的话就开,不太耗时不开,因为线程切换调度的话,存在一定的开销)
线程安全怎么保证?
syncronized
内部原理是什么(说了修饰静态方法和非静态方法,代码块)修饰静态方法和非静态方法,能够并发执行吗?(可以,因为他们锁的对象不一样,说到了死锁)
死锁的原理是什么?
出现死锁怎么排查(这个不太会,说了用
jvm
中的jstack
)追问怎么用?(说没用过,只是知道)
问我他的原理是什么?(不太知道,说看
traces.txt
,看堆栈)怎么安全停止一个线程(说了用
volatile
修饰变量,通过while
(变量),手动设置true false
)volatile
原理是什么?(说了java
内存模型啥的,修饰特性啥的)网络了解吗
tcp
优点(可靠性,面向连接)面向连接是什么?(说了计算机通信前建立连接)
面向连接和非面向连接的本质区别是什么?(乱答,不知道)
拥塞控制原理
http
与udp
区别(说了层数)http
请求流程
下面开始聊天了
- 反问:
HR 面(24分钟)
你是周一面的三面,这几天关于面试你是怎么考虑的?
周一面试完,周四周五才给你反馈,有考虑过面试不通过吗
我说周二就给我反馈了
面试感受如何?
你对面试做了什么准备
客户端基础知识方面的话,你是怎么复习和准备的?
有做一些刷题吗?
字节算法这块,难度怎么样
距离毕业还有一年半,你怎么规划这段时间
你们是信息安全专业?应该不是计算机专业的同学吧
你是什么时候考虑转开发
你是大一就打算做开发?还是说进到工作室后,受到师兄的影响才转开发?
介绍一下工作室
配合方式是怎样的?
说一下影响比较深的项目
主要是客户端做?还是前端后台都有?
这个项目你们老师也是怎样评价的?
团队协作有没有遇到比较难推进的时候?
你会主动去配合团队吗
自己学习或者工作,怎么安排时间?
工作的时间占你一天多少时间?
任务你是怎么管理
你的方法论挺好的,你提到的日程管理软件是哪个?
旁边人用哪几个词语评价你
你的优点缺点分别是什么?
有遇到压力特别大的时候吗?
你在学校成绩怎样
你对自己的未来的规划
什么时候能来?能来多久
学校课程怎样
反问
全部评论
(8) 回帖