是面试官放水,还是公司太缺人?这都没挂,2021的字节跳动也太好进了吧!(面经+经验分享)
Posted Android725
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是面试官放水,还是公司太缺人?这都没挂,2021的字节跳动也太好进了吧!(面经+经验分享)相关的知识,希望对你有一定的参考价值。
前言
本人211非科班,之前在字节和腾讯实习过,这次其实没抱着什么特别大的希望投递,没想到字节可以再给我一次机会,还是挺开心的。
本来以为有个机会就不错啦!没想到能成功上岸,在这里要特别感谢帮我内推的同学,中间投递比较曲折,是他帮了我很多,非常负责任全程跟进内推
话不多说,先来看看这次的面试题
面试题
Android面试题
- ListView 如何缓存的?
- RecyclerView联系人列表如何实现A-Z快速定位
- 广播和EventBus的区别
- 主线程Looper循环为什么没有卡主线程?nativePollOnce
- SharedPreference的线程安全、进程安全,如何跨进程
- android 中实现多线程: threads, Handler, AsyncTask, IntentService
- Android 中如何实现多进程
- 自定义View的过程:measure,layout,draw
- LayoutInflater#inflate 的 attrachToParent true 是什么意思
- theme 和 style 有什么区别,优先级
- 有哪些进程间通信方式
- 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实战》
近期,谷歌宣布Kotlin成为安卓开发首选语言。Kotlin作为“better java”的存在,在实用方面会越来越普遍。
这本书的作者是kotlin的实现者,他从语言的基本特性开始讲起,逐步覆盖其更多的高级特性。十分清楚地阐述了Kotlin的各种特性、逻辑。
作者在书中将Kotlin和Java做了大量对比,更有助于读者对Kotlin的理解。不管是打算正式学习、使用Kotlin,还只是想初步了解这个语言,但是一本很好的实用书籍。
尾声
需要全套系列笔记可以直接,点击链接
【https://jq.qq.com/?_wv=1027&k=OQA7ghiD】找群主大大免费获取!
Framework可能涉及到的知识点包括:
Android 系统架构、Zygote进程启动过程、SystemServer进程启动过程、Launcher启动过程、WindowManager体系、WindowManager体系、Binder、Handler等。 从每个话题可以多角度切入到不同的领域,全面了解候选人对进程通信机制、常用组件、插件化方案的理解程度。此外高级UI、第三方框架源码理解也是必备的知识技能等。
framwork 精编源码解析
- 精华Android 初级-高级学习进阶思维脑图(有几百个细分支,系统学习)
我整理了面试遇到的一些知识点,并画成了思维导图的形式。方便大家复习。
- 学习笔记(只展示部分)
- 大厂面试笔记(包含面试题+解析+面试HR必备知识+学习Android基础—高级知识点)
2020-2021BATJZ大厂面试精编解析
GitHub,学习知识点
- 鸿蒙学习笔记
学习方向给你们看一下精简版本了,需要完整版的可以找我分享 。由于csdn限制网盘链接,需要相关学习笔记的可以复制我的GitHub地址,
需要相关知识点可以查看我的【GitHub】,对于已经掌握的可以忽略以节省时间。
如果不方便查看,我已经整理成了一份PDF包含Android入门,基础—高级的全部系列知识点,还有新技术学习笔记。
需要全套系列笔记可以直接,点击链接
【https://jq.qq.com/?_wv=1027&k=OQA7ghiD】找群主大大免费获取!
以上是关于是面试官放水,还是公司太缺人?这都没挂,2021的字节跳动也太好进了吧!(面经+经验分享)的主要内容,如果未能解决你的问题,请参考以下文章
是面试官放水,还是公司实在是太缺人?这都没挂,字节原来这么容易进...
是面试官放水,还是公司实在是太缺人?这都没挂,华为原来这么容易进...
是面试官放水,还是公司实在是太缺人?这都没挂,京东原来这么容易进...
是面试官放水,还是企业实在是缺人?这都没挂,字节原来这么容易进...