Android程序媛:文科转码,记录我在字节跳动这一年(1)

虽说是年中总结,但是发现自己好像从来还没有总结过这一段奇妙的转行经验,因此借这个机会,也算是给自己过去几年的一个交代。

故事的开端


2016 年的秋天,我跟很多即将毕业的迷茫大学生一样,一边实习,一边参加秋招。或许是学校的名声给了我自视甚高的“勇气”,或许是忙碌的实习工作让我应接不暇,又或许是自己根本没想清楚职业规划,总之,我经历了惨痛的秋招——颗粒无收。

我的读的是一个比较冷门的经管类专业,当时一心想当一名产品经理。在那个“人人都是产品经理”的时代(或许现在也是),校招现场简历最厚的那一摞不用看都知道是产品岗——竞争相当激烈。

接近一年的产品实习经验,加上身经数场惊心动魄的群面,我不再头铁,换了个赛道,总算是抓住了春招的尾巴,进入了一家二线大厂,做项目管理的工作。

在将近第二年的时候,我愈发觉得现在的工作不是我想要的,也不想回过头继续去做产品。当时之所以一心想做产品,是因为我很喜欢创造一些新东西。后来在工作中经常找开发解决问题,总觉得不得劲儿,很想自己去做那个解决问题的人。

经过一番思索,我选择转行设计。没错,我想当一个香喷喷的设计师,做一个时尚的都市丽人。于是我辗转于某乎、招聘软件,总结出一份包含设计师分类、职业前景、薪资水平、日常工作情况等的表格,最终决定做 UI 设计师,还非常详细地制订了一份学习路线。

或许是这份学习路线里的进阶阶段包含了一些Android UI相关的技能,总之契机我已记不太清,我有了一个大胆的想法。

决定转码


我要转开发!我要写代码!我要当黑客(bushi)!等我回过神来的时候,我已经写下了 Hello World。

那是一段艰苦的日子,白天上班,晚上一头扎进技术的海洋。一边迷茫着,一边焦虑着,一边又不敢停下学习的脚步。当时在某乎搜了很多大佬的转行经历,倍受鼓舞,于是给自己整理了一条学习路线,制订了学习计划,包括一些书单、视频、博客等**(有人感兴趣的话,改天可以另开一篇文章讲一下(或许))**。

就这么自学了几个月,感觉老这样也不是个事儿,于是下定决心干脆脱产学习算了。然而就在辞职的第二周,我拿到了一个创业公司的 offer。

第一天上班的时候,我感到非常新奇和不可思议,我竟然真的成为了一名Android程序员,坐在工位上写代码都在窃喜。

与字节结缘


2020 年上半年的时候,刚复工没多久,我又一次选择了裸辞。或许出于对自己非科班出身的介怀,又或许只是想踏踏实实接受比较系统的计算机相关知识的学习,前一年的时候我就又一次萌生了考计算机研的想法,把操作系统、计算机网络、数据结构、计算机组成原理四件套都恶补了个遍。总之我又想脱产学习了。

4 月中旬的时候,我又成为了一名光荣的无业游民。当时告诉自己,冲一波大厂,不行的话就去考研,我甚至抽空还回学校看了一下房子,等这边房子到期就搬到学校里天天泡馆。

(当时在学校看房的时候,临近黄昏,觉得这种处在人生转折点的迷茫感受很奇妙,于是随手拍了一张)

后来收到了字节的面试邀请,结局你们也知道,我通过了面试,拿到了 offer,导致那一年的考研大军直接少掉了一名强有力的竞争者(bushi)。

字节的面试效率很高,不过我为了提高把握,每次约下一轮面试时间的时候都给自己预留了很长时间,然后在这段时间里疯狂学习。还有一个小窍门就是,及时总结输出学习成果,我当时把自己的学习成果总结成了许多知识点上传到了Github。(需要参阅的朋友,我待会把Github放在文章下方);

这里附上我当时总结的一些知识吧:

大概部分如下:

  • **Java基础:**JVM、String、内部类、多态、抽象和接口、集合框架(Hashmap、Arraylist)、单例、线程、Synchronized、Look锁、动态代理、引用

  • **Android基础:**四大组件、View、进程、Bitmap、屏幕适配、消息机制、线程异步、WebView。

  • **Android扩展:**Framework、AMS/PMS/WMS、Binder源码、Handler源码、ART、Apk优化、Hook、Proguard、架构(MVC/MVP/MVVM)、Jetpack、NDK开发、Rxjava、

  • **Android源码:**Leakcanary、Eventbus

  • **设计模式:**面向对象六大原则、工厂模式、单例模式、建造者模式、观察者模式、适配器模式、策略模式、代理模式。


数据结构与算法:

  • 线性链表

  • 查找:顺序查找、二分查找

  • 排序:交换类、插入类、选择类

  • 树、二叉树、图:深度优先(DFS)、广度优先(BFS)

  • 递归

  • 分治

  • 滑窗

  • 三大牛逼算法:回溯、贪心、动态规划(DP)

最后

针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

image

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

[外链图片转存中…(img-f2wYa83J-1714834685160)]

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值