是面试官放水,还是公司太缺人?这都没挂,2021 的字节跳动也太好进了吧
View 的渲染过程
Binder 的原理和优势
AIDL 中的 oneway 有什么用,方向标签 in、out、inout 是什么意思
Android 中有哪些动画,都说下
Serializable 和 Parcelable 的区别
你知道哪些 Layout,ConstraintLayout 的特点是什么
手机开发者选项有哪些,不保留活动是什么
四大组件
当内存不足时 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,Java,c,这就去掉 2/3 的大厂很难面试了。Java 具体细分还会分电商,企业应用,游戏开发等等,没有对口的项目基本自断一臂。疫情打击最严重的也是 Java 大户滴滴美团京东,hc 数量极少。
8.对非科班的歧视普遍存在,很不容易转行,同等条件下,非科班相比于科班的特长往往不会被岗位所看重。除了真的答得差的一家明确挂了,其他我全在备胎池里被无限拖,如果学历很好的同学有其他路子,没必要硬转互联网。
一位清华的学生去互联网如果只能拿到白菜,那么实际上已经把你变成了北邮。说实话,今年这行情,可能国企公务员是更好的选择吧。
书籍推荐
《代码大全(第 2 版)》
不了解的朋友看到这个书名,会以为是一本代码示范的工具书。但扫一眼目录,你会发现,这本书几乎覆盖了软件构建的全过程。从需要分析、系统架构设计到具体的编码规范、编码技巧,都可以从中找到答案。
这版书籍并不是第一版的简单修订增补,而是完全进行了重写,增加了很多与时俱进的内容。书中论述的技术不仅填补了初级与高级编程技术之间的空白,而且也为程序员们提供了一个有关编程技巧的信息来源。
这本书对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生们都是大有裨益的。可以说,无论是什么背景的读者,阅读这本书都有助于在更短的时间内、更容易地写出更好的程序。
《Android 进阶之光》
一本十分实用的 Android 进阶类书籍,详细并深入讲解 Android 开发者必备的和前沿的知识,能帮需要进阶的程序员提高技术水平。
当然,作为一本进阶型的书籍,小白或菜鸟去读的话,一定会感到吃力。建议有一定基础后再深入学习。
《程序员修炼之道》
一本每读一次就有不同收获的书籍。
这本书由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。
书中利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。
不管是初学者、有经验的程序员,还是软件项目经理,都能从中找到自己需要的知识。
《人月神话》
“程序员,就像诗人一样,几乎仅仅工作在单纯的思考中。他们运用自己的想象,来建造自己的‘城堡’。”
一本于 2002 年出版的书籍,然而书中内容并没有随着时代和技术的更迭而褪色。这么多年来,一直被码农界奉为经典。
而且,这本书也并非是一本枯燥的技术文献,而是一系列文采斐然的随笔。从书中,经常能看到技术和人文的碰撞。
《Kotlin 实战》
评论