啃完这些资料,我拿到了腾讯,爱奇艺,小红书,快手等15家公司的offer!(1)

字节跳动是一个伟大的公司,优秀的同事真是数不胜数,我在其中只是一个菜鸟,仰望各种大佬,不管是从技术方面还是做人做事的方面都学到了很多、成长了很多。在抖音的两年十分感谢我的同事、领导对我的帮助和提携,尤其是亨惠、火火老师、马老师、江老师、夏老师、将军、若雷、乐华、龙博等等一群大牛,还有漂亮的pm小姐姐佳鑫,和帅气的设计师冬冬,只能说我是何其的幸运,能够和一群优秀的同事一起共事、见证一款伟大app的崛起。

这次面试了以下几个公司(不是面试顺序):

Airbnb、快陪练、探探、猿辅导、趣头条、脉脉、动动、瓜子二手车、伴鱼、最右、BIGO、音娱、快手、小红书、美菜网、微软、亚马逊、Ihandy、饿了吗、爱奇艺、右划

其中面试没通过的是:脉脉(一面挂),其他的公司都到了hr面谈薪资,美菜网、音娱、动动、猿题库等公司hr开诚布公的跟我说给不了我要的价钱,虽然技术面评价不错,我也明白,由于拿到一些offer后,我对不太想去的公司会要的比较高,我自己都觉得肯定不会给。微软和亚马逊有另外的情况,因为当时已经基本确定拿到Airbnb的offer加上眼睛因为上火长了针眼,特别疼,就直接拒绝了。可能有同学发现了,为什么这次我没有去BAT去试试(百度、阿里、腾讯),百度的确没有投递,阿里腾讯不是我不想去,实在是太慢了(可能是我没有走内推,而是在boss投递的原因),基本上是投递后一个月后才告诉我简历通过去面试。

##为什么要跳槽

为什么要跳槽,这个问题一定要思考清楚,因为跳槽的成本其实是挺大的,在一家公司积累的不仅仅是人脉还有对当前行业以及业务的熟悉度,新进入一家公司,一切需要从头再来,需要快速的证明自己,尤其是技术人员,还有就是对新环境和代码的熟悉,这些都是成本,所以在跳槽前,一定要想好,为什么要跳槽。其实马爸爸有一句经典的话“要么钱没给到位,要么心委屈了”,说的很形象,我这里再细说一下:

1.钱没给到位,其实所有的人对自己的评价都是比自己真实的水平要高一些,这就导致,大部分人认为自己现在贡献很大,老板应该加薪,尤其是看到一些同事做的不如自己(可能是自己认为),工资拿的和自己一样,甚至比自己高,那就更加有钱给的少了的感觉。

2.做的事情是否有价值或者说是否有持续盈利的趋势,这个很重要,一个公司的产品不盈利没前景,就算给你开不错的工资,作为一个不想混吃等死的人来说,都不想继续再待下去。

3.机会,作为一个已经有3年工作经验的人来说,这个时候更加需要的是一个机会,能够证明自己,给公司带来更大的价值,完成进一步的突破,如果当前的公司并不能给你这个机会,那么你就需要考虑跳槽了。

那么跳槽的核心就是利益最大化,当然这里说的利益,不仅仅是薪资福利,还有自己的职业规划。

职业规划

作为技术人员,我大概总结了下面三个方向,其实哪个方向都是大有可为,关键还是要看自己。

  1. 技术经理
  2. 架构师
  3. 专项领域的专家

薪资福利

作为一个不再年轻的程序员来说,已经不能忽略薪资和福利,不再像刚毕业的同学,只要能成长、只要平台好,薪资什么的不重要。其实每个阶段都有自己的侧重点,我大概对薪资、平台、成长排了个序(自己的观点)

  1. 1~3年,平台>=成长>薪资
  2. 3~5年,平台>=薪资>=成长
  3. 5~10年,平台=薪资>成长(这个阶段也可叫做规划)

上面是自己不成熟的看法,从自身的一些经验出发的,仅供参考。

准备

这是最辛苦的阶段,你不仅要把日常的工作做好,还要开始着手准备刷题、基础知识准备以及高阶知识的准备,除此之外我还对英语进行了一些准备,由于不管是想去外企、出国以及看英文的文档,英语都是必不可少的,英语在我们的日常生活中也越来越重要,我们要,整个阶段大概持续了4个多月。其实每一次跳槽,都是对这几年工作的一个梳理和总结,虽然大家都明白“面试造火箭、进去拧螺丝”的道理,对于公司而言,这是筛选人才的一个方式,毕竟人是第一生产力,只要有优秀的人才,那么造出的火箭才可能“一飞冲天”。对于个人而言,如果公司里同事优秀的人,那么你肯定也不会差,我们肯定更希望和优秀的人一起共事。

刷题

刷题要有针对性,效果会非常不错。这个过程不仅是个脑力活还是体力活,由于不能再公司刷题,我一般的选择方式是在晚上回到家后,由于公司经常加班,我通常到家是10:00-11:00期间,先锻炼半个小时(一会再聊这个事情),然后刷题半个小时到一个小时。当然也可以在上下班的路上抽时间看看题。

文末可以免费获取

基础知识

由于面的Android岗位,需要准备一些Java和Android方面的知识,有很多的文章都会去介绍怎么去复习基础的知识或者进阶知识,或者是阅读一些经典的面试数据,例如任玉刚的《Android开发艺术探索》,都是非常不错的。大家可以根据网上的文章和一些数据梳理一个自己的知识体系,将一个一个知识点形成点再到面,这样能更加深刻的理解,而且有自己的侧重点,我就列举一下我的准备的方向:

简历

简历的重要性就不言而喻了,怎么样写好简历是个技术活,当然如果你有很好的背景(学校或者公司),那么不管你怎么写,基本上都不刷掉你,我们作为一般的人还是需要下一番功夫的。拿我的简历作为例子,大概有以下几个部分:

  1. 个人信息:姓名、出生日期、教育背景、博客地址、github地址、联系方式(手机、邮箱和微信号)
  2. 工作经历:毕业后待过哪些公司,一般是倒序,项目尽量精简明了,可以参考SMART原则
  3. 专业技能:自己熟悉的一些技能,这个为什么我写到最后,因为对于工作三年的同学来说,面试官更加注重的是你的项目经历,大部分面试都是看你的项目经历来提问。

怎样写简历,这个开源网站不错,教你怎么写简历,而且有一个在线markdown在线网站,可以导出pdf。

面试

由于时间的原因,有一些面试题记录的不是非常的详细,但是大致是这些,可能会漏掉一些题。这篇总结与2017年面试总结一样,我并不会给出答案,一个是因为,面试太多,细节实在记不住,而且有些题也有可能记错,有时候一天最多面试了4家,从早上10点到晚上9点一直在面试,我连续面试一周后,直接上火了,眼睛长了个针眼,肿的老大了。二是因为,我这篇文章主要目的并不是带你复习Android的相应知识点,而且每个人都有自己的侧重点。

“求其上者得其中 求其中者得其下”,按照这个原则这次面试我就大胆的面试架构师或者能够带人的职位,所以很多问题都是架构的考虑和知识的广度以及自己的思考,这些回答很大程度上是开放题,相信大家都有自己的想法和见解,我就不班门弄斧了,真的是因为抖音发展的太快,见识了太多的问题和优秀解决方案,所以只要自己用点心,可以学的地方还是很多的。

总结部分仅是个人的观点,如果有错误或者影响到公司的地方,希望大家能提出,我会修改不恰当的言辞。

1. 快陪练

还是先填个人信息表格,其实我不太喜欢这种方式,一上来就是个人的详细信息,你又没有给我发offer,我也没决定要来,而且还没技术面。不过既然来了就要尊重公司的办事方式,我只简单写了一下我觉得可以告诉公司的个人信息。然后做了一份笔试题,一道算法和一些网络方面的知识,不难。

快陪练整体的环境并不是很好,环境很嘈杂,而且我是在门口面试的,很乱。

一面

  • MVC、MVP和MVVM的原理和区别
  • 设计的六大基础原则
  • 使用UML画一下访问者设计模式

二面

  • 先聊了聊为什么离开现在公司,毕竟现在这么火
  • 我做的项目中的一些解决方案,组件化、字节码注入、包体积的极致优化
  • 直播的架构设计

三面

  • 设计一个上传日志的大小,涉及到,性能、文件大小、怎样压缩、时机、TopK问题等
  • 聊了聊在字节跳动做的事情

总结

是一家创业公司,给的薪资还是挺不错的,但是由于是996,没有加班工资,多出来的钱可能就是加班工资吧,后面听hr说公司正在打算取消996


2. 探探

是通过脉脉上网红马映怡推荐的,马映怡之前在字节跳动,今年4月份到了探探,在脉脉找到了我,正好我有出去看看的意向,就约了时间去面试,探探的办公环境还是比较好的。

一面

  • OpenGL一些知识,顶点着色器、片元着色器的工作原理,什么是VBO(这个没想起来),以及shader的一些简单问题
  • View的事件传递机制
  • 包体积优化
  • JVM相关知识,Dalvik和ART的区别
  • 组件化的实现方案
  • 算法题,ViewGroup的层级深度,转换为二叉树的层级深度

二面

二面面试官,比较注重思维,我理解为聪不聪明的意思,有点脑筋急转弯的意思,要求的最简单有效的方法。

  • RecyclerView防止内存OOM的一道题,充分利用自身的缓存机制,可能我始终没理解问题所在,虽然给出解决方案,但是面试官不满意,太繁琐
  • 讨论LRUcache的实现和时间复杂度

三面

cto面试

  • 聊了一下抖音发展的过程中我的角色,做过什么事情,有什么收益
  • 在华为的一些经历,为什么离开华为
  • 聊了一到算法题,查找两个字符串的交集和字符串1中有字符串2中没有的问题。

四面(不是一天)

这次主要是聊一下我将要做的工作,以及让其他面试官再次了解一下我,因为评级比较高,所以需要谨慎点。

总结

整体来说探探发展还是不错,尤其近两年要上市,环境也不错,管三餐,加班不严重,双休,工资也给力,但是也是由于近两年要上市,所以要做的东西还是比较多和急,需要你有一定的能力。


3. 猿题库

我是在boss投递的猿题库的Android开发岗位,结果hr小姐姐把我当成了server开发,先进来一位server的童鞋,让我写了一到算法题(二叉树的镜像),然后看看我的简历问我,是不是面试android的,我说是,她尴尬的说我是server面试官,然后赶紧与hr沟通,调整成为Android。

猿题库面试应该是有硬性的时间指标,应该是每一轮面试都要差不多1个小时,并且会出1~2道算法题。

一面

主要聊了下面几个方面

  • 热修复,主要说了ClassLoader的方式和Rubost的插装方式,重点介绍了Rubost的原理。
  • 实现直播礼物的一些技术选型,和播放带有alpha通道MP4的解决方案
  • 怎么实现字节码注入
  • 抖音组件的探索,SPI到字节码注入,优缺点。
  • 接下来就是两道算法题
  • String字符串的数字相加
  • 使用三个线程顺序打印有序的数组
  • 提问环节

二面

  • 包体积优化:静态Lint,Proguard,AndResGuard和删除R.java中的所有字段,删除access$方法,在gradle的transform阶段将压缩png和jpeg,使用google开源的redex方案,每种方案的原理以及优缺点
  • MVVM-livedata的实现原理
  • 属性动画的原理,这里没看过,不太清楚
  • Kotlin写一个let的扩展函数,大体写了一下代码。
  • 算法,可能是我写的太慢了,所以就只有一道
  • 给定一个有序的数组和目标数,找出与目标数最近接的index,要求复杂度是log(n)的时间复杂度

三面

三面就比较轻松了,面试官一直乐呵呵的,又问了一下alpha视频的解决方案,然后聊了聊为什么要离开这么火的项目,问了问我的经历之类的,最后写了两道算法题

  • 二叉树的深度和广度,要求一次遍历
  • 给定一个二叉树和一个目标数,在二叉树中是否存在一条路径的所有节点的和与目标数是相同的case,并且打印。

总结

效率并不是很高,而且并不主动,可能是跟我要的薪水太高有关系,后面通过询问才知道,技术面试是通过了,可能字节跳动本来薪水就很高,我再跳过来,猿辅导考虑到我的工作年限和年龄,会倒挂一大批人,所以只能平薪过来,而且这样知道我肯定不会来,就没主动跟我说。

整个面试环节总体来说还可以,但是就是效率不高,也可能是我运气不好,我是4:10到猿题库的,然后在前台等了20所分钟,hr才来,说了刚才在电话会议耽误了,这个理解,然后等待面试又等了10多分钟,来了server的面试童鞋,写了道算法题,重新调整到Android面试,又等了15分钟,真正Android面试开始在5:10左右,面试完成后基本到了8:30了。

对自己的表现基本满意,就是好久不手写代码,有点生疏,写的比较慢,大多数问题和答案都得到了面试的认可,对一些知识点没有复习到,其实我是这样认为的,并不是所有的问题或者知识都需要知道,你只需要有1~2个方面了解的很透彻,得到面试官的认可就行。


4. 趣头条

一面

  • 在抖音上显示自己做的功能,框架的搭建,实现原理,所做的优化点等。
  • 组件化的实现,为什么做组件化,不同实现的优缺点。
  • hashmap的实现原理
  • view的优化,减少层级,异步加载,x2c框架引入,优缺点,textview的优化。
  • mp4播放alpha视频实现的原理
  • 一面面试官大概聊了1个小时左右,没让我写算法,细究原理和细节,非常仔细。

二面

  • 冷启优化的一些方案。
  • 数据驱动业务的理解,怎么做,和pm产生分歧怎么解决。
  • 我所有做的优化的收益是什么,有什么数据支撑。
  • 事件分发机制,举了一个具体的例子来解决。
  • http的一些问题,1.1和2.0区别,心跳机制,https怎么建立链接,怎么进行数据加密等。
  • 为什么离开抖音,职业发展,诉求等。

聊了大概一个小时,面试官的思路相对独特,不是为做技术而做技术,技术始终要服务于业务,我非常认可。

总结

趣头条北京位于海淀,位置不靠近地铁,需要步行一段时间,不过效率挺高的,在面试完的第二天就给我发offer了,面试流程也相对较少。对趣头条的营收模式看的不是很清楚,类似发钱看新闻,但是现在头条也再做这个,趣头条能够搞得过头条是个问题,如果没有增长点,那后期的转型是什么(我瞎操心啥)?总体来说体验还是不错的,hr也很真诚,多次沟通,虽然最后我没有去,感兴趣的同学可以去看看。


5. 瓜子二手车

瓜子二手车真的是太远了,从海淀到工作地方将近花费了2个小时,而且还不在地铁附近,还需要坐公交。

一面

  • 聊了一下项目中做过的东西,字节码注入相关知识,transform优化,mp4礼物实现等
  • 从桌面点击icon图标开始,整个启动activity的启动过程
  • Binder的实现原理
  • 插件化的原理,以及hook点,大概有两个,可以网上搜索一下
  • hashmap的实现原理
  • 单例的实现,sychrnized的实现原理,以及双锁不加violate,会不会有线程安全问题
  • 二叉树,读取每一层最右边的节点

二面

  • 聊聊大概履历,以及在华为、字节跳动都做了什么,为什么要离开。
  • 职业规划,怎么带领团队
  • 代码设计的基础原则,以及用UML画出工厂模式
  • 将两个有序的链表合并成一个有序的链表,递归和循环两中方式
  • 时间分发机制,并且需要从Android的sensor开始到应用层,我只知道从Activity开始的流程。
  • 聊操作系统Unix,汗颜,我知之甚少。
  • 对新技术的看法(flutter),瓜子二手车也已经开始在项目中使用fultter相关技术

三面(总监)

  • 自我介绍,为什么要离开抖音
  • 线程安全的问题,sychronized和viloated的使用
  • 实现一个CAS(乐观锁)的方法
  • HashMap的实现原理,怎么优化内存占用,优化resize的过程,这个是开放的问题

四面(VP?)

  • 自我介绍,在抖音做了什么
  • 在抖音做的比较好的两件事情
  • 设计一个美团的框架,组件化

总结

瓜子二手车是众多二手车中做的还算比较好的公司,现在像优信、人人二手车好像都不是很好了,就是太远了,公司附近也没有地铁站,就算是公交站还需要走2公里,但是面试官感觉还是比较有水平的,后期的hr跟我谈也是诚意满满,整个团队在我来看,还是一个想做事情的态度。总体来说hr还是非常真诚的,想去的朋友可以考虑考虑。


6. 伴鱼

笔试

  • 双锁单例,为什么要价violate
  • 内部类访问外部类
  • 函数值传递的一些题
  • 子类继承父类,个字都有静态变量、静态代码块、构造函数,执行的顺序
  • int数组,除了一个数字外,其他数字都出现两次,找出这个只出现一次的数字

一面

  • 图片压缩原理,以及在transform阶段进行的必要性,讨论的还挺激烈
  • 内部类引用外部函数的参数,为什么要final定义,值传递
  • 判断一个应用是否切到后台
  • 组件化的探讨,假设场景,怎么处理
  • 插件化的实现方式,以及对相应的场景进行讨论

二面

伴鱼的架构师

  • 一个疑难杂症,也是自定义插件,讨论是否有更好的方式,最后结果是,他想了一个比较巧妙的方式,没有实践过,但是告诉我可以,保留自己的意见。
  • 字节码相关知识,ASM以及MD5的实现原理,png的压缩原理,这里比较乱,就是说到哪问道哪,比较发散。
  • 对成为架构师的几点看法

三面

  • mp4实现alpha通道的原理,优缺点,收益是什么
  • m*n的二维数组,做(0,0)出发,可以上下左右走,0为畅通,1为阻塞,目标位置(k,j),问是否能到达这个位置,类似迷宫的算法

总结

感觉伴鱼的面试目的是问倒你,很多次讨论问题,我说你有什么看法或者正确答案的时候,面试官就让我回去自己上网搜一下,或者给出的方案,经不起我的推敲,我问上两三个问题,面试官反而有点语塞,感觉很奇怪。不过公司有自己的考量,最后给的薪资不是很满意,就没有去,二面面试官给我的体验还是非常不错的,考虑全面,而且也有深度。


7. 最右

笔试题

Android中的引用关系

自定义view步骤

activity生命周期

一面

  • 介绍最右的现状
  • 常用的播放器,以及优缺点
  • opengl的绘制流程
  • 音视频编解码的流程

二面

  • 在抖音做的工作
  • 性能优化,包体积优化,冷启优化,卡顿优化的一些实现方案
  • mvc mvp mvvm的区别,以及自己实现的轻量级mvvm的原理
  • 编解码的相关知识
  • ijkplayer的优缺点,以及是否看过相关源码
  • flutter的探讨

总结

总体来说面试流程中规中矩,但是面试官的问题并不是很全面,更加关心的是自己的关心的领域,对于我提出的问题(大前端和flutter),见解也仅仅是需要对新技术保持一定的敏感度,后面hr让我去跟cto再谈一轮,因为考虑到各个方面的因素,就直接拒绝了。


8. BIGO

BIGO是YY旗下的一个公司,目前刚刚收购了一个海外的直播产品,而且将来会把业务放到北京,还是想做一些事情,员工福利也是不错的。由于现在主要的人员还是在广东,前两面都是电话面试

一面

  • 多线程怎么保证线程安全,violated、sychronized、reenterLock,这三个锁的原理以及区别,JVM是怎样实现sychronized线程安全的。
  • HashMap的实现原理,put()原理。hash冲突,resize,1.8的改动,什么是红黑树,优点。
  • ui优化,主要从检测和优化两个部分说明,优化又分为通用的优化,和改变绘制流程的优化。
  • jvm的介绍,内存介绍,gc等
  • binder机制

二面

  • hashmap是否线程安全,concurenthashmap实现原理,1.8之后有什么改变
  • 播放透明的mp4的原理
  • 冷启优化和ui卡顿的监测和优化
  • thinker实现插件化的原理,我们使用什么什么实现热更新,热更新的通用方案,以及优缺点

三面

  • 介绍自己之前的工作经历,在华为做了什么,为什么离开华为,在抖音都做了什么工作
  • 实现mp4播放alpha视频的原理
  • 是否使用过kotlin,kotlin的一些特性
  • 内存泄漏和oom怎么产生的,内存泄漏的监控,leakcanery的实现原理
  • 看过哪些第三方框架的源码,具体的实现原理。retrofit、okhttp和eventbus等

总结

BIGO一二面还是偏基础的知识,并没有很深或者很偏的问题,三面面试官是之前腾讯的大佬,面试更多的我做过的项目讨论和架构的问题,以及其他方面的一些问题,整体感觉还是比较好的,hr小姐姐是广东人,说话的声音很好听,也很真诚。


9. 音娱科技

主要做的日本的直播产品,公司并不大,创始人好像也是头条出来的,各种福利制度和头条进本类似。

一面

  • activity生命周期 以及各个函数的含义
  • activity task的四种类型
  • fragment的生命周期
  • 启动server的两种方式
  • intent传输数据的大小限制
  • binder的原理
  • activity的启动流程
  • hashmap实现原理,1.8的改动,红黑树概念
  • 合并两个有序的链表

二面

  • 为什么离开抖音
  • 组件化实现方案 spi的缺点,怎么使用字节码注入
  • Dex的组成,为什么每个dex会有65536的限制
  • 还有好多,时间太长记不太清楚了

总结

面试技术应该是通过了,最终卡在薪资,可能我要的太高,公司可能觉得依照我现在背景,性价比不高,就没谈下去,后面跟其他公司聊的时候,又了解了一些这个公司的情况,据说年终奖特别少,很多人在年后都跳槽了。


10. 小红书

一面

  • Activity的生命周期、fragment的生命周期,onRestart()什么时候调用
  • service的两种启动方式,service的生命周期
  • binder机制
  • 进程保活:1.防止进程被杀 2.杀死后再拉起,详细的答案网上搜一下,这里就不列举出来了
  • app的包体积优化,lint、proguard、andresguard原理,字节码注入,删除R.java的变量,删除access$001方法,压缩图片资源和使用redex等。

二面

  • 自我介绍
  • 对JNI和C++了解吗?基本不了解,就略过了
  • Activity的launchMode,每个Mode的含义,Activity的启动流程
  • 怎么样实现MP4播放alpha的视频,编解码的一些流程,NV20、YUV、RGB一些概念,SurfaceView和TextureSurfaceView的区别
  • 组件化的实现,都有什么技术方案,优缺点
  • 使用数组实现一个队列,有void add(int val)和void pop()两个函数,而且需要考虑扩容

三面(业务线负责人)

  • 介绍自己,介绍在抖音做过的事情
  • 哪两件事情做得最有成就感
  • 怎样重构代码,基本的6大原则,详细讨论每个原则的含义,使用过的设计模式
  • 假定场景,接口定义的有缺陷,第二版需要修改,是增加还是直接修改,以及还有没有其他的方案,怎么去做,为什么,这个是开放的题,结合设计原则,以及真实的情况和自己的一些例子说明即可

四面(Android负责人)

  • 介绍自己,为什么离开抖音
  • mp4播放alpha视频的实现方案,详细解说
  • 跨部门合作,具体的一个例子,怎么去沟通,假设一个例子,用最恰当的方式去沟通。
  • 怎么向上管理以及向下管理

五面(类似VP级别)

  • 对技术选型的看法,flutter、c++、java、kotlin,核心是解决问题
  • 是否会使用kotlin,优势,以及在项目中真正带来的收益
  • 组件化,依赖版本号不同的解决办法
  • 插件化,一些实际问题的,具体是什么记不太清楚了

总结

小红书的装修真是豪,办公环境特别棒,但是面试流程有点多,足足面了5轮,不过总体来说技术还是很不错的,不论是广度还是深度,尤其最后一面,专门从上海飞来面试,十分荣幸,从这点就能看出公司对人才的重视程度,是一个值得加入的公司,hr小姐姐人美也真诚。


11. 饿了吗

一面

  • 包体积优化,Lint、proguard、andResGuard的原理,以及抖音做的一些包体积优化的方案
  • 线程和线程池的讨论,为什么要用线程池,线程池各个参数的含义,如果队列满了会发生什么,为什么线程池的数量是cpu核数+1
  • 好吧,记不起来了

二面

  • 自我介绍
  • 线程安全的方式,sychronized和violated的区别
  • 怎么自定义Transform、自定义Task,Task之间怎么依赖,大致顺序是什么,增量编译的概念,异步加快文件的读取,ASM接口的使用
  • cookie、session、token的含义和区别,这里我确实不熟悉,就直接说我不太清楚了。

三面

  • 自我介绍
  • 在抖音都做过什么事情,相关的几个方向深入讨论一下
  • 对于架构的思考,怎样设计一个好的架构,6大设计原则,分别说明一下
  • 用过什么设计模式,为什么要用设计模式,对于设计模式的思考
  • 怎样提高开发效率,较少沟通成本,实例说明下
  • 为什么要引入kotlin,优缺点
  • 以后的规划

四面(交叉面)

  • 介绍自己,为什么离开抖音
  • 音视频的相关知识,NV20,YUV,RGB的关系,为什么mp4的压缩率比webp的动画要高,编解码的流程,通用的编码格式,软硬解的区别。
  • View的绘制流程,硬件加速的原理和软件绘制的区别,以及相关的view的优化

总结

总体来说面试体验还是不错的,三面面试官对于职业发展和新技术的见解都是非常深刻,也给与了我很多建议。


12. 美菜网

一面

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

[外链图片转存中…(img-akir2qeJ-1715866903212)]

[外链图片转存中…(img-495Bf4Fc-1715866903213)]

[外链图片转存中…(img-JY56sc6d-1715866903214)]

[外链图片转存中…(img-m7w7dyNi-1715866903215)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 26
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值