03.04 Android面试复盘;抖音离职后拿到探探和快陪练offer


Android面试复盘;抖音离职后拿到探探和快陪练offer


前言

我这篇文章并不是简单的描述一些面试中的题,或者总结一些Android的知识,而是想记录我整个的想法和准备的过程,以及一些心得体会,让大家更加全面的去看待工作、跳槽和生活(从我的角度,当然肯定有不合理的地方,大家借鉴就好)

抖音两年

在字节跳动的两年时间中见证了抖音从百万日活到2.5亿、团队从10人到100多人的过程,技术上不同时期的选型以及迭代、沉淀和更替。项目上经历了一个工程到模块化再到组件化最后插件化,深刻理解项目不同阶段和不同体量的时候技术框架的选型。流程上不同阶段不同的方案,一直在探索最大的效率的协同开发。产品上从不断试错到稳步发展的过程,也就是数据驱动业务的过程。

这次面试了以下几个公司(不是面试顺序): Airbnb、快陪练、探探、猿辅导、趣头条、脉脉、动动、瓜子二手车、伴鱼、最右、BIGO、音娱、快手、小红书、美菜网、微软、亚马逊、Ihandy、饿了吗、爱奇艺、右划

全部经历太长,考虑大家嫌我啰嗦,这篇文章介绍一下快陪练和探探两家公司的面试经历,希望对感兴趣跳槽的朋友有一个参考;

1. 快陪练

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

一面

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

二面

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

三面

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


总结

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




2. 探探

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

一面

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


二面

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

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

三面

cto面试

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

四面(不是一天)

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

总结

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

我去面试的所有公司问到的题目基本上全都包含在这些面试题里。对于要找工作的朋友们来说很值得短期快速突击一下。需要的朋友可以在私信我关键词【面试资料】,后台设置了自动发送共享。


Android面试复盘;抖音离职后拿到探探和快陪练offer


这些面试题是今年去Airbnb、快手、小红书、猿辅导等15家公司面试后整理的面试题,还借鉴了网友去百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率。


为什么要跳槽

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

  1. 钱没给到位,其实所有的人对自己的评价都是比自己真实的水平要高一些,这就导致,大部分人认为自己现在贡献很大,老板应该加薪,尤其是看到一些同事做的不如自己(可能是自己认为),工资拿的和自己一样,甚至比自己高,那就更加有钱给的少了的感觉。
  2. 做的事情是否有价值或者说是否有持续盈利的趋势,这个很重要,一个公司的产品不盈利没前景,就算给你开不错的工资,作为一个不想混吃等死的人来说,都不想继续再待下去。
  3. 机会,作为一个已经有3年工作经验的人来说,这个时候更加需要的是一个机会,能够证明自己,给公司带来更大的价值,完成进一步的突破,如果当前的公司并不能给你这个机会,那么你就需要考虑跳槽了。

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

职业规划

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

  1. 技术经理
  2. 架构师
  3. 专项领域的专家
Android面试复盘;抖音离职后拿到探探和快陪练offer

薪资福利

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

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

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


分享到:


相關文章: