0%
科班基础
- 数据结构有哪些?
- 自己设计一个类,不用Map实现输入key,输出对应的value。
- 有了解过图吗?用代码怎么表示一张图?有个社交项目有1000个用户,每个用户都与其中某些用户是好友关系,现有用户A、用户B,判断A、B为直接好友关系还是间接好友关系(间接好友指例如A有朋友D,D有朋友E,E才有朋友B),若为间接好友关系输出好友路径
- 快排的思想?
- tcp,udp?三次握手、四次挥手流程及为什么?
- 数据库中的事务是什么?order by与group by的区别。主键整型升序,查询表中倒数第二条数据。
- 对称加密与非对称加密?
代码设计相关
- 继承与接口的区别?如何选择?
- 装饰者模式与代理模式的区别?讲一下静态代理和动态代理
- MVVM与MVP各自优缺点
- Java多态的理解
- 泛型的理解
Java相关
- 双亲委派模型
- jvm垃圾回收机制。
- 可达性分析法。强软弱虚,内存泄漏。
- 标记-清除、标记-整理、复制。整合出分代收集算法
- HashMap,jdk1.8之前hash冲突的处理。JDK1.8后的实现数据结构用了哪些?两种数据结构的区别?
- break与continue的区别
- StringBuffer与StringBuilder的区别,如何选择?
- 程序中"钱"使用什么数据类型存储?
- 什么是递归?递归使用不当会出现什么情况?栈内存溢出和堆内存溢出,JVM内存模型。
- 反转单链表思路。
- 线程安全三要素是哪些?
- 成员变量与局部变量?如何选择?是否可以全部都使用成员变量?
- private与public?是否可以全部使用public
- 为什么要在代码中抛出异常?
- 线程的创建与回收?线程池?线程池核心线程为什么不会被回收?空闲线程空闲超过指定时间才被回收是怎么实现的?
kotlin相关
- let和apply?
- 内联函数的作用?
- jvmOverload和jvmStatic
- contract的作用?
- ==与===的区别?==等价与Java中的?
- kotlin中独有的可见修饰符是?作用?
- !!的作用?
android相关
- 最近学习的新技术?
- startActivity与startActivityForResult?onActivityResult的局限?谈谈ActivityResultContract?
- activity的四种启动模式?
- 动画的种类有哪些?什么是插值器,什么是估值器?
- RV的数据源发生改变(增删改),adapter分别对应的方法。若我给数据集合追加了3条数据,那么adapter调用什么方法?notifyDataSetChange可以不?如果回答可以,那么问为什么选择调用notifyInsert,与调用notifyDataSetChange有什么区别?item局部刷新?
- Okhttp一个call的流程,怎么进行公共参数的传递?责任链设计模式?
- 外部会唤起APP某一个页面,怎么做?若有多个页面都支持唤起?
- 怎么计算一张gif图占用的内存大小?Glide的加载一张网络图片的流程?怎么处理请求的生命周期?三级缓存?内存缓存用的什么缓存算法?讲讲LRUCache。怎么判断是从硬盘中加载还是从网络中请求?加载大图片时是Glide如何处理内存问题?
- 为什么在onCreate中获取不了View的宽高?绘制流程
- 宽高都为100dp的FrameLayout中有两个平级的宽高也为100dp的子View分别设置背景色为红、黄,展示哪个颜色?都设置点击事件,谁响应?事件分发流程
- v1、v2签名区别?多渠道打包
- 怎么进行项目接口环境的切换?
- 为一张表增加一个字段的完整操作流程是?
- handler机制的四大对象分别是?延迟msg的处理?同步屏障的作用?Android中哪些地方用到了同步屏障?产生ANR的原因?Looper死循环有阻塞休眠机制,如果没有阻塞机制会ANR吗?不会产生ANR那会发生什么?
- SharedPreference中commit和apply的区别?apply产生anr的原因?
- 遇到的最难解决的bug是什么?
- 怎么进行重构和重写?怎么判读重构和重写后比之前更好?
- 减小包体积的方法?
- 布局优化怎么做,什么是重绘,怎么避免重绘。
- 埋点方案?无埋点和代码埋点的优缺点?编译期无埋点和运行期无埋点的实现?讲讲字节码插桩
- 怎么进行学习?长逛的网站
git相关
- reset和revert的区别?
- 回滚一个push到远端的commit怎么做?
- 暂存区的使用?