刚面完字节跳动,估计凉了。
个人情况
简单介绍一下自己,我是一名末流 985 毕业,自学计算机,如今试图转行Android。浅学过Java、Android,所以基础还算过关。但剩下的 Framework、性能优化、kotlin都是刚入门的水平,仅有一些了解。
关于简历
我的简历没有任何包装,项目经历都是自己做的很简单的东西,技能描述除了java 和 Android 全部写的是 “了解” 字样,不会的都没写、没了解过的也没写、更没有包装工作经验。但这样竟然也通过了简历评估,约了面试。
面试流程
概况
面试流程和网上别人描述的基本一致,问的问题超级多、覆盖知识范围也极广,整个面试下来将近一个小时。
不过问的大部分问题我都不会,或者答得不好,还是准备不够充分吧。
不幸的插曲
约的面试时间是下午 2 点,我提前十分钟进入视频面试系统,但是当自我介绍的时候,我的电脑突然就黑屏了,这次给我弄尴尬了,也很影响心情。我赶快重启电脑,并和面试官说明情况。
自我介绍
介绍了自己的基本情况,比较后悔的一点是没有说自己的项目经验,这直接导致后面面试官没有问我关于项目的任何东西!大家切记,如果有自己项目的话,一定要介绍,要引导面试官去问自己会的东西。
面试题目
- 自我介绍
- 讲讲你对 MVVM 的认识?
- MVVM 的优点有什么呢?
- MVP 中 Model、View 和 Presenter 的持有关系是怎么样的?
- MVVM 中的持有关系呢?
- MVVM 中各个层在 Android 开发中的对应关系?
- 你的 MVVM 用到了 Jetpack 里的 ViewModel,那么它是如何保持数据的呢?
- ViewModel 是怎么做到在 Activity 销毁重建新实例之后还能保持不变的呢?
- 如果用 Kotlin 去调用一个具有返回值的 Java 函数,那么这个返回值是可空的还是非空的呢?
- Kotlin 中的可见性和 Java 是不一样的,分别讲讲?
- 你说你用到了协程,讲讲你对于协程的认识?
- 调用了 cancel() 之后协程的状态变化?
- 如果子协程中没有通过判断协程状态来决定是否终止工作,那么取消父协程之后会是怎样的?
- 你提到了协程分为有栈和无栈两种。它们的区别是?
- 这个“栈”里都保存了什么信息?
- Kotlin 的协程是无栈的,那这些信息是怎么保存的?
- 协程该怎么取消呢?
- 协程会不会和线程一样有共享变量冲突的问题呢?
- Kotlin 中有一个 inline 关键字,讲讲你的了解?
- 除了通过内联函数减少函数调用的开销,还有什么用途吗?
- 如果现在有一个高阶函数被 inline 修饰,我不想让它的参数被内联,该怎么办呢?
- Kotlin 是可以跨平台编译的,讲讲你的了解?
- 你刚才提到的编译到“原生平台”,指的是什么?
- 现在如果让你用 Kotlin 写一个跨平台的项目,你该怎么做?
- 浏览器里从输入一个网址,到最终看见网页,发生了什么?
- HTTP 是应用层协议,讲讲是如何建立的?
- 你说底层是 TCP,那讲讲 TCP 的三次握手?
- 如果现在要使用 HTTPS,连接的建立会发生什么变化呢?
- 客户端是如何根据 IP 地址找到服务器对应的主机的呢?
- LeetCode 518. 零钱兑换 II
复盘建议
- 1、大家投简历前(尤其是大厂),还是尽可能准备充分,面经什么的搞起来,不然可能因为准备不到位损失一次面试机会(很多公司都有面试记录)
- 2、简历要尽力做好(不是做假),好的简历可能会给你带来意想不到的面试机会
- 3、在自我介绍和回答问题时,学会引导面试官,往自己熟悉的方向和题目带
- 4、面试前保证设备和环境一切正常,千万不要像我一样因为设备影响了面试
另外,Android大厂面试中,往往 framework、性能优化是考察的重点,除了光会写代码外,在面试前还是要好好背下八股文的。这里也给大家分享一些。
文章图片
【刚面完字节跳动,估计凉了。】通过失败的面试,我认识到自身的不足,以后坚持学习、不断在面试中发现和改进自己的不足,也祝大家都能在金三银四中拿到心仪的offer,加油!
推荐阅读
- 龙蜥一站式质量协作平台T-One上线,助你轻松完成测试
- JavaWeb|使用Servlet完成单表的CRUD
- python政策网字体反爬实例(附完整代码)
- AI芯片独角兽寒武纪新融资完成(估值逾20亿美元,国家队基金入场)
- 蓝桥杯|蓝桥杯AcWing学习笔记 6-1双指针的学习(附相关蓝桥真题(日志统计、完全二叉树的权值))
- ESP8266|ESP 保姆级教程 疯狂传感器篇 —— 案例(ESP8266 + DHT11 +WebServer页面(检测温湿度、网页显示)更新完)
- 超级实习生|阿里腾讯字节,谁才是真正的福利大厂
- c++|c++ 11 线程池---完全使用c++ 11新特性
- 记一次完整的上云经历
- JAVA人生|全球程序员收入报告(字节跳动高级工程师以年薪274万排名第五)