这份工作我是酝酿了好久才成功地从一个坑跳动字节这个“坑”。
问题所在
字节跳动是内容领域的王者,公司从2012年成立,7年间业务疯狂增长,员工发展到5w 人,业绩千亿规模,员工平均年龄为 90 后。公司架构采用扁平的中台管理机制,不讲 title,淡化级别,员工之间直接叫x同学, 对ceo也之间称呼其本名,企业文化讲求的是字节范儿,极客务实的浪漫主义。没有KPI,只聊 OKR讲人效(人效可以理解为ROI,投入产出比)。推动工作飞书建群,谁行谁上,不太区分JD(岗位职责),大家都是整个项目链条上的一环,闭环就成为一个球将项目滚动起来。年度两次360绩效评估,评估结果用于年终奖和晋升等相关参考。根据绩效评估结果,年终奖为0-100 个月不设限。
疫情期字节志愿者的担当为了说明这个文章不是PR稿,我也得适度黑一黑,讲一下公司一些个人并不欣赏的点。比如在业务高速上成的红利期, 过度追求ROI人效,而不是优先团队协作,所以很多时候专人做专事,做其最擅长的事这一点被忽略。
因为过度追求ROI,人们之间的交流也仅依附于工作开展时,人情寡淡,缺乏归属感、安全感也是弊端。 执行层和策略层相互混淆,虽然没有办公室政治也没有形成官僚苗条,虽然整体看上去井然有序,深挖下去则乌泱泱一团,凝聚力匮乏,不利于组织或者一个人的深度成长,红利期一过,可持续发展战略,管理就成了最大的问题。
以上,就是个人在字节跳动工作的感受,没有人逼迫,也不用偷偷眨眼,相对主观,不作为求职参考。
面试
今年2月份我拿到了字节跳动Offer,但是不到半年我就选择了辞职,之前在我学习交流群里有很多要我发面试题的,趁着有时间我写了这篇文章,顺便把面试题给大家发了一下!
一面:
这一面侧重考察基本的计算及原理和Android基础机制,以及对做过项目的个人探索和理解深度;具体涉及的方面如下(有些我感觉随口就能答上的忘记了- -)吧:
1.自我介绍:
我具体怎么答的略过,总之注意几个点:说简历上没有的、有亮点的、跳槽原因等,从各个点上尽力彰显自己优势、技术特长
2.手写代码:
计算View树上所有view的数量,参数ViewGroup,补全空方法返回view数量→本质就是数据结构多叉树递归层序遍历+Android View基本api调用
3.Android相关:
主线程Looper一直循环查消息为何没卡主线程?RecyclerView相对ListView区别?好像还有Bitmap resize相关,就是设置option,然后decode→这里还有些我基本都是随口答对的,已然忘了😂反正都是中级(或稍偏高级)Android工程师必掌握原理机制~
4.项目相关:
用MultiDex解决何事?其根本原因在于?Dex如何优化?主Dex放哪些东西?主Dex和其他Dex调用、关联?Odex优化点在于啥?Dalvik和Art虚拟机区别?多渠道打包如何实现(Flavor、Dimension应用)?从母包生出渠道包实现方法?渠道标识替换原理?
-
Android打包哪些类型文件不能混淆?
-
Retrofit主要实现机制?
-
动态代理静态代理区别?
→上面这坨都是从我做过的项目或用过的开源库引申出的问题,而且挑的都是不太偏业务且技术性强一些的,这其实要求日常在把事儿做成的基础上还得再多看下原理顺带自己动手探索下,明晰人家每一步是怎么互相关联推动直至最终搞定的,而不是加个dependency或copy下别人代码就完事儿嘞~
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
最后
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
下面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题全套解析,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,下面只是以图片的形式给大家展示一部分。
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**