写点什么

七月脱产复习上岸 Byte Dance,敢问:这不比“博人传

用户头像
Android架构
关注
发布于: 13 小时前


二、为什么要面大厂?




原因有以下几点:


  • 第一,**你周围大概率会是很多很优秀的人。你从这些优秀的人身上可以学到很多的东西。**包括他们做事的方法、解决问题的思路,以及他们的一些工作习惯。这些往往都会影响到你后续的职业生涯。另外,当你周围都是很优秀的人的时候,你会被这种气氛和环境所感染,你需要不断的努力才能达到这些人的平均水平。所以你不太敢懈怠,因为一旦懈怠,你可能就会掉队,你会有这种落差或者危机感。

  • 第二,**大厂里会用到很多比较新的技术。**可能有的技术还没有被大范围的推广,但是出于开源或者是公司资源的角度,都会涌现出一些比较好用的工具。即使你没有自己做这个工具,但是通过使用这个工具,你可能就能领会到其中的一些精髓。对你以后自己来去构思这些工具的时候,会提


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


供一个比较好的基础。


  • 第三,**有一个优势就是大厂里机遇更大。**你如果跟对了 leader,即使你在这个公司离职了,只要你跟老板有一个比较好的联络。那么等有机会的时候,你可以再次去投奔他。也就是说,除了你通过自己努力,有一个比较好的发展之外,你还多了一条路,就是你的老板有一个更好的发展前景。这样的话,当他成功的时候,你可以去投奔他,这样能够节约很多的成本。从概率上来讲,大厂的 leader,发展好的概率更大。

  • 第四,还有一些客观上的好处,就是你有了大厂的经历之后,再去找下一份工作的时候会有一些天然的优势。尤其在涨工资定级方面,有过大厂工作经验,和只有小公司工作经验相比,估计大部分人都会选择前者。在一般情况下,这是一个非常大的优势。


当你明白这些以后,你才会明白为什么有一些程序员会挤破头都要挤进大厂,因为这些高福利、高待遇的工作每分钟都在提醒着我需要进步;



三、字节跳动四轮面经+offer




我并不是裸辞之后就直接去面字节的,因为有些技术点在工作中不常用就很容易忘记,所以我必须要重头过一遍,给了自己大概 1.5 个月(接近 40 天)的复习时间,从四大组件下手开始着手复习。


一开始准备地时候其实并不轻松,感觉自己的技术还停留在 2 年前刚毕业的时候。


对于大厂互联网企业的技术栈一概不通,每天废寝忘食的学习,不断地去提升自己的技术能力.也受到了很多同学的帮助,其中一位成功上岸字节的同学(大学室友)教给了我上岸字节的秘诀,并给了我内推!


在这里很感谢他;



字节跳动面经(一面)




  • string,equals,==有什么区别

  • AsyncTask 内存泄露

  • dispatchTouchEvent,onInterceptEvent,onTouchEvent 顺序,关系

  • onMeasure,onLayout,onDraw 关系

  • 算法题,链表求和

  • 说说你对协程的理解

  • 协程怎么取消

  • 说说 MVP 与 MVVM 的区别

  • ...


字节跳动面经(二面)




  • 算法题,二叉树的最大深度

  • 如果 android 端和 IOS 端调一个接口,一个通了一个没通,你会如何解决

  • 如果 android 端和 IOS 端调一个接口,一个比较慢,一个比较快,有什么思路

  • ARouter 的原理是什么?如果不用 ARouter,你会怎么去解藕。接口?设计接口有什么需要注意的?

  • h5 与 native 交互做过什么工作?

  • 登陆功能,登陆成功然后跳转到一个新 Activity,中间涉及什么?从事件传递,网络请求,AMS 交互角度分析

  • AMS 交互调用生命周期是顺序的吗?

  • binder 进程间通信可以调用原进程方法吗?

  • mvp 与 mvvm 有什么区别?

  • token 放在本地如何保存?如何加密比较好?

  • ...


字节跳动面经(三面)




  • 说说 HashMap 的原理

  • 说说 Java 的内存分区

  • 讲讲你对垃圾回收机制的了解,老年代有什么算法?

  • 说说你对 volatile 字段有什么用途?

  • 说说事件分发机制,怎么写一个不能滑动的 ViewPager

  • 说说你对类加载机制的了解?DexClassLoader 与 PathClassLoader 的区别

  • 说说插件化的原理,资源的插件化 id 重复如何解决?

  • mvp 与 mvvm 模式的区别是什么?

  • JetPack 组件用过哪些?lifeCycle 的原理是什么?如果在 onStart 里面订阅,会回调 onCreate 吗?

  • 单例模式有什么缺点?

  • 说说 App 的启动过程,在 ActivityThread 的 main 方法里面做了什么事,什么时候启动第一个 Activity?

  • 说说你对 Handler 机制的了解,同步消息,异步消息等

  • 说说你对屏幕刷新机制的了解,双重缓冲,三重缓冲,黄油模型

  • onCreate,onResume,onStart 里面,什么地方可以获得宽高

  • 为什么 view.post 可以获得宽高,有看过 view.post 的源码吗?

  • DataBinding 的原理了解吗?

  • 算法题:给定一个链表 L1、L2,每个元素是为 10 以内的正整数,链表表示一个数字,表头为高位。 求两个链表之差,以链表形式返回


字节跳动面经(四面)




  • 介绍一下你们项目的架构

  • Rxjava 是怎么实现线程切换的

  • Rxjava 自定义操作符

  • ARouter 的原理

  • ARouter 怎么实现接口调用

  • ARouter 怎么实现页面拦截

  • MVP 怎么处理内存泄漏

  • OkHttp 怎么实现连接池

  • 如果让你来实现一个网络框架,你会考虑什么

  • 你做过什么性能优化的工作

  • 热修复的原理,资源的热修复的原理,会不会有资源冲突的问题

  • ViewPager 中嵌套 ViewPager 怎么处理滑动冲突

  • android 源码中有哪些设计模式

  • 说说 binder 机制的原理

  • ...


面经虽然有参考性,但是最重要的还是你自身的技术水平如何,作为一个 Android 开发者,不仅要打好自身基础,更重要的是要建立起自己的知识体系, 你要知道知识是碎片化的,建立知识体系会让自己对技术的运用更加融会贯通,往“T 型”人才发展;


技术上的成长往往是会花费很多时间的,但是利用这些时间帮你技术上更上一层台阶进入大厂,岂不妙哉?

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
七月脱产复习上岸Byte Dance,敢问:这不比“博人传