当内存不足时Service被杀死了,如何重启这个Service
Android系统杀进程时,是怎么考虑进程优先级的?
Fragment 的 ViewModel 如何访问到 Activity 的 ViewModel 的数据
Activity 4种启动模式说下,各种启动模式适合的应用场景
Activity 任务栈从底到顶为 A-B-C,低内存杀死进程后,重新点击,显示哪个?这时如果C里面有Fragment是怎样恢复的?
Activity如何传参给Fragment?为什么用setArgument传参,而不是使用带有参数的构造器?
window、view 和 Activity 的关系
Activity、Fragment 的各个生命周期依次说一下,各个生命周期里面适合做什么
Activity 调用 finish 方法后怎么走到 onDestroy 的
图片
Glide缓存特点
Glide为我们做了哪些内存优化
Glide如何加载 GIF
ListView 图片错位的原因,解决方案
bitmap如何处理大图,30M的大图如何防止OOM?
网络
OKHttp 如何实现缓存
OKHttp 的超时时间,有考虑DNS超时码
OKHttp 线程池、连接池讲下
OKHttp 的所有拦截器有哪些,请求失败了重试1、2次怎么做❤️
Retrofit实现机制
Room注解如何在编译时生成类文件
http 和 https 的区别,shakehand的过程说下
状态码400、401,3xx有哪些
网络劫持是什么,应该怎么做
TCP三次握手,握手中的网络包各个标记位是多少,四次挥手说一下
TCP 发送窗口是什么?
混合开发h5了解多少
浏览器窗口访问一个网址的过程
POST 和 GET 有什么区别
优化
内存泄漏分析,LeakCanary的原理,泄漏对象是如何找到引用链的❤️
APK瘦身
启动优化
卡顿分析!!
ANR分析!!
为什么布局文件中层级越多,性能可能差很多
你有哪些应用性能优化的经验❤️必问
ProGuard怎么写
Java
hashCode、equals
HashMap 请开始你的表演
ConcurrentHashMap 分段加锁的原理
动态代理如何写
JVM 内存模型介绍下,哪些地方可能 OutOfMeomory
JVM GC 算法
线程池的原理,有哪些拒绝策略
Java锁优化:偏向锁、轻量级锁、自旋锁讲一下
为什么说反射的性能不好
Kotlin
Kotlin协程为什么能以同步代码写出异步逻辑?
suspend 函数的工作原理
在协程上定义了一个局部变量,为什么在其中的其他线程里的协程也能访问到?
by 的两种场景,by Lazy 的实现
object 单例的实现
算法
各种排序算法(冒泡、选择、快排、归并。。。)的时间复杂度,各种查找算法(顺序查找,二分查找。。。)的时间复杂度
LRU 实现(146)参考LinkedHashMap实现的3个方法
LFU 缓存(460) 同一频率使用LRU的NodeList,外面套一层{freq to NodeList},NodeList用双链表实现
两数相加(445)
找缺失的数字(268)注意相似题目里有中等
两个队列实现栈(225)
删除子文件夹(1233)
螺旋矩阵打印(54)
用生成随机数1-5(1,2,3,4,5)的方法,得到一个可以生成随机数(1-7)的方法
54张扑克牌,分成3堆,大小王出现在同一堆的概率(排列组合算数题)
抽象问题
讲讲做过的项目,有哪些亮点
你自己的亮点在哪里,你的加入可以给团队带来什么
技术规划,怎么发展
设计题
如果让你设计一个音乐播放器,要实现哪些接口
设计一个图片下载库:深挖 Glide,如果图片没有设置有效期,如何保证缓存被更新???
5-23: 拿到了蚂蚁国际的成都的意向书,终于缓一口气。
5-20:终于拿到一家的实习offer,我的简历主要投的是大厂,总数其实不多。
1.感觉快手和美团在今年4月的时候是不收人的,3月和5月面的都有面试,我那场笔试AK都有挂的。
2.阿里和字节的好处是有多条命,只要有人捞,可以一直在备胎池里仰卧起坐。然后我腾讯3个月才等来第一次面试。
3.多关注一下学校的内部论坛,比招聘软件上的信息和内推信息靠谱多了。
最近在找春招实习,投的Android方向,面试感触很深,有时候面试完忍不住大骂,但也不得不承认自己很菜,还得继续学习:
1.有的笔试极难,leetcode hard做得让人很难受,面试也会手撕medium到hard难度不等。
2.有些公司做完笔试才知道卡学历极严格,也有做完笔试才知道不招人的。
3.岗位描述和面试内容不符,多次碰到招Android 但全程不问Android的,这样就会全程尬聊。然后基础课这块确实我太弱了,这是非科最大的短板。
4.说是看重基础吧,但很多人的项目一年比一年强,高并发,分布式等越来越多。如果没有好的项目,被面试官在基础问题上反复诘问的话,容错会非常低,很弱势。
5.有些公司备胎池极深,可能受到疫情影响,有很多kpi面,等待面试的过程非常煎熬,自尊心被暴打。
6.面到现在差不多投了7,8家了,很多人还是 0 offer,心态可能扛不住,完全不能以去年的难度衡量。
7.其他答主提到了技术分工越来越细,这就导致了你在投递公司时候的其实选择范围极小,国内bat分别用go,J
ava,c,这就去掉2/3的大厂很难面试了。Java具体细分还会分电商,企业应用,游戏开发等等,没有对口的项目基本自断一臂。疫情打击最严重的也是Java大户滴滴美团京东,hc数量极少。
8.对非科班的歧视普遍存在,很不容易转行,同等条件下,非科班相比于科班的特长往往不会被岗位所看重。除了真的答得差的一家明确挂了,其他我全在备胎池里被无限拖,如果学历很好的同学有其他路子,没必要硬转互联网。
一位清华的学生去互联网如果只能拿到白菜,那么实际上已经把你变成了北邮。说实话,今年这行情,可能国企公务员是更好的选择吧。
《代码大全(第2版)》
不了解的朋友看到这个书名,会以为是一本代码示范的工具书。但扫一眼目录,你会发现,这本书几乎覆盖了软件构建的全过程。从需要分析、系统架构设计到具体的编码规范、编码技巧,都可以从中找到答案。
这版书籍并不是第一版的简单修订增补,而是完全进行了重写,增加了很多与时俱进的内容。书中论述的技术不仅填补了初级与高级编程技术之间的空白,而且也为程序员们提供了一个有关编程技巧的信息来源。
这本书对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生们都是大有裨益的。可以说,无论是什么背景的读者,阅读这本书都有助于在更短的时间内、更容易地写出更好的程序。
《Android进阶之光》
一本十分实用的Android进阶类书籍,详细并深入讲解Android开发者必备的和前沿的知识,能帮需要进阶的程序员提高技术水平。
当然,作为一本进阶型的书籍,小白或菜鸟去读的话,一定会感到吃力。建议有一定基础后再深入学习。
《程序员修炼之道》
一本每读一次就有不同收获的书籍。
这本书由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。
于在更短的时间内、更容易地写出更好的程序。
《Android进阶之光》
一本十分实用的Android进阶类书籍,详细并深入讲解Android开发者必备的和前沿的知识,能帮需要进阶的程序员提高技术水平。
当然,作为一本进阶型的书籍,小白或菜鸟去读的话,一定会感到吃力。建议有一定基础后再深入学习。
《程序员修炼之道》
一本每读一次就有不同收获的书籍。
这本书由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。