5.受到一些心灵鸡汤的鼓励,比如什么种一颗树最好的时机是十年前,其次,就是现在!


辞职之后

我辞去工作,开始在家自学Android开发。主要的学习方式就是在网上看视频教程。那些视频教程,初级的基本上免费。中高级的有些会收费,大概50-300元左右一套。反正“学费”上我没花什么钱,总共不到一千元吧。

先是学了些java基础(把学校学的捡起来)。在思考未来就业方向时,犹豫了是继续学java还是选择学Android。在我读书时是学过JAVA的,有过一些基础,再考虑到就业各个方面还是选择了Android,我这个情况,肯定进不了大厂,做不了大项目了。但是能混口饭吃就很好了!

学完前java基础后,我还跟着视频教程,自己做了两三个简单的项目。在我学习过程中,让我比较有自信的是——没遇到什么挫折。当然,肯定遇到过各种问题被卡住,于是加入了一个圈子,里面有我这样的小白,有Android讲师,有大厂大牛。里面给了我很多建议!


我的今日头条之路

投头条主要是因为听说头条的笔试面试难度都高,想试试。最开始也没打
算去头条,所以直接投的北京Android开发。

头条走的内推,但还是参加了统一的笔试(有概率免笔试),笔试印象不太深了,只记得有两个算法题,而且难度都挺大,是那种很容易做对30%但很难做对100%的算法题,不过凭借着我刷题的功底(以及当时的灵机一动),还是把两题全都做出来了。

然后就收到了头条视频面试的通知。值得注意的是,头条的笔试刷人比例很大,我周围基本没有人进头条的面试。面试一共三轮,每轮面试完后几分钟都会接到HR的电话通知面试是否通过。

一面大概持续了一个小时。问的问题印象不太深了,主要问的都是计算机基础、Java基础和Android基础的问题,但问的深度较深。比如问到Java并发的时候,就让我用代码来演示线程之间的同步;还深入到了wait()和notify()的工作原理(锁池,唤醒的native实现),以及notify()和notifyAll()的区别、notify()可能造成死锁的问题。印象中没有要做算法题(如果有也应该是LeetCode Easy难度的)。一面完面试官就直接让我等二面了。

二面大概持续了一个小时。

二面记的也不太清楚了,挑几个我记得的说。最开始是问到了一些Java基础,比如int和Integer的区别之类的。然后还用实例让我分析Java面向对象编程的一些细节,比如内部类的性质、什么时候用内部类、内部类和静态内部类的关系。还问到了一些进制的问题,比如数的二进制表示、与十六进制的关系、移位运算。

问完这些就开始看着我的简历问,问到了我Python学的怎么样(项目中用到一些Python)、怎么学习Python的、主要拿来干什么之类的问题。然后面试官让我解释一下YUV颜色空间,这个让我心里一惊,因为这个第一个问我YUV颜色空间(整个秋招只有两个面试官问到YUV颜色空间,另一个是网易游戏),而且看样子面试官是了解YUV颜色空间的,要知道只有专门做图像视频的才会了解到这些;然后我就详细介绍了YUV颜色空间,以及对应的如I420和NV21格式。随后面试官又问我懂不懂Android上的codec(因为我简历上写了Android的MediaCodec),我说我用过MediaCodec,面试官又问主要用来干什么,我说拿来做视频硬解码。然后面试官针对MediaCodec的使用、注意事项等问了我十多个问题,我都一一很快作了回答。到这里我基本就反客为主了,因为用MediaCodec的人很少,而我因为科研的关系专门钻研过MediaCodec,还实现了第一个通用的视频解码方法,可以说对MediaCodec了解的很深了;而面试官可能就是刚刚入门,正在学习MediaCodec,所以我的回答就是游刃有余了。面试官问完这些问题后很兴奋,看我全都答上来了就觉得我的面试应该算通过了,但他看了看时间发现才四十多分钟,于是就说再出个算法题我做,就是一道经典的算法题——两个字符串大数相加,早有准备,所以一口气就写出来了。

最后结束的时候面试官跟我说非常希望我能去头条实习。最后我问面试官为什么他会了解MediaCodec这么冷门的东西,面试官说他目前正在参与西瓜视频APP的研发,接触到视频处理,所以就了解到MediaCodec了。

然后就是三面了,三面也大概持续了一个小时

因为网络的原因,是电话面试的。三面的画风和前两面不一样,没有问太多技术方面的问题。最开始还是让我介绍项目,介绍完了就问我项目中遇到的问题和解决方法,这个我回答的很细,面试官也问的很细;因为这个之前准备过,所以答的也不错,光这个问题就花了大概半小时。面试官之后问我说似乎解决这个问题并没有用到太多技术,我回答说是的,但最困难的应该是寻找原因、作出尝试、再寻找原因、再作出尝试的过程。然后就是问我我的项目代码进行过怎样的优化、现在还存在哪些问题,我说以前代码结构太差,牵一发而动全身,后来学习了设计模式,代码结构就清晰了很多,面试官又仔细问了我用到了哪些设计模式,是怎么改造代码的;然后问存在的问题,我答还缺乏一个通用的框架来支撑各种不同的二维码,然后面试官问了我继续改造的思路。最后面试官跟我说虽然前面两轮面试问了很多基础,但他还是要考考我,问我Java里有哪些Map。这题倒是把我难住了,因为我只是看过Map的各种继承的图,还没专门背下来过,于是我就只说出了HashMap、LinkedHashMap和TreeMap(实际还有ConcurrentHashMap等),然后跟面试官介绍了典型的使用场景。这样就结束了三面。

三面结束后过了十几分钟就接到HR电话说面试通过,接下来几天会有HR的电话面试。然后等到HR电话面试,实际就是聊聊天,HR了解一下我拿到offer的情况、对城市的选择、能否实习等,然后问我对部门有没有喜好(今日头条、西瓜视频、抖音、火山小视频等),因为我也不在意,就说没喜好、都可以。剩下的就不仔细说了。

再后来就是接到了HR沟通薪资的电话,HR说我分到了主端(即今日头条),然后给我的是sp,后来发现是sp里的最高挡。


如果自学的话,以下是建议:

  1. 推荐书籍,郭霖的《第一行代码》,很好的Android入门书。
  2. Java的话,一开始不推荐《Java编程思想》,没有编程基础的有点难懂,你可以看看网上教程之类的。
  3. 多敲代码。书上的例子,不要看着觉得会,就不去敲了,很多时候你自己敲一遍,才发现存在很多问题,试着去解决这些问题,你会学到很多。
  4. 在有一定基础上,可以想着写一些个人的项目,思考要添加什么功能,怎么实现,不懂的就Google。
  5. 学习网站的话,Android开发的官网不翻墙是打不开的,可以考虑买个vpn或者别的途径,翻墙去看,反正我是习惯了Google,vpn一直挂着。贴一个我自己的书签。
  6. 推荐stormzhang 的Android学习之路博文。Android学习之路,很赞,一些Android初学者资源都很赞,仔细看完这篇,你会学习到很多。
  7. 开发工具下载,同样是墙的问题,这里有不需要翻墙的资源。AndroidDevTools 配置中遇到的问题自己多搜索。
    是墙的问题,这里有不需要翻墙的资源。AndroidDevTools 配置中遇到的问题自己多搜索。

我靠着这套学习视频+文档,自学Android从外卖小哥走到了头条相关推荐

  1. 一套Java 小区物业管理系统源码 物业管理小程序源码+安装视频+文档

    Java物业管理小程序源码 物业管理系统源码+安装视频+文档 语言:Java  页面:HTML  项目构建:maven  前端技术:layui 后端:springboot+ssm+shiro+layu ...

  2. FPGA[视频+文档+例程]170G相关资料放送(持续更新)

    [资料放送][FPGA]<视频+文档+例程>170G资料放送 包括: 视频+文档+例程:<黑金开发板资料>18G 链接:链接:https://pan.baidu.com/s/1 ...

  3. 深度学习在文档矫正中的应用

    深度学习在文档矫正中的应用 一.扫描文稿 在日常生活中,我们经常会使用到扫描文稿的功能.包括IOS备忘录自带的扫描功能.扫描全能王等,文稿扫描给我们带来了许多便利.文稿扫描可以应对的范围非常广.包括身 ...

  4. (六)MkDocs学习——部署文档

    mkdocs学习笔记系列 (一)MkDocs 学习--快速开始 (二)MkDocs学习笔记--撰写文档 (三)MkDocs学习--配置主题 (四)MkDocs学习--自定义主题 (五)MkDocs学习 ...

  5. [含文档+源码等]微信小程序校园生活小助手+后台管理系统前后分离VUE[包运行成功]

            博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 [含文档+源码等]微信小程序校园生活小助手+后台管理系统前后分离V ...

  6. 如何pdf转word文档?这几个小技巧你值得拥有

    关于怎么把pdf转word的方法,这里分享给你 想知道怎么把pdf转word?安利两个好用的pdf转word软件 怎么把pdf转word?这几个pdf转word工具帮你解决难题 实用转换小技巧:pdf ...

  7. android11用石墨文档,轻协作 | 石墨文档 for Android 版轻体验

    前几天喜闻石墨文档终于推出 Android 版本,算是全面支持 ios.Android 和 web 平台.身为 Android 用户,可以告别体验不佳的 web 端,下面为大家送上石墨文档 for A ...

  8. android程序打印,通过iPrintScan软件打印文档(适用于Android安卓)

    文档标题:通过iPrint&Scan软件打印文档(适用于Android安卓) 文档代码:CHN-FP0576-1 最近修改日期:2020年11月19日 通过iPrint&Scan软件打 ...

  9. 泡沫股价、外卖小哥要失业了?测试员还要不要进美团?一文带你了解背后真相

    你知道美团值多少钱吗? 去年的中国明星股票中,美团以460的单日收盘价位居第二位,整个美团这个时候值2.3万亿,差不多是腾讯阿里的一半市值.前面我们说到过腾讯和阿里他们的业务是多方向的,而作为专注做生 ...

最新文章

  1. linux 路由跟踪表 nf_conntrack 数据结构 参数 简介
  2. 《DL/T 1476-2015 电力安全工器具预防性试验规程》中的样品名称及试验项目
  3. Vmware学习虚拟机操作时遇到的问题和解决
  4. 敲诈勒索比特币不断,企业用户如何防“山寨”钓鱼邮件
  5. CALL TRANSACTION - bdc_options
  6. Apache的shiro获取当前Session的方法
  7. rateLimiter令牌桶限流算法
  8. 前端学习(2468):echart复习电商管理通过路由加载数据
  9. 中国为什么不发展民用计算机,为什么大多数人都错估了计算机与AI的发展?
  10. linux中pri=100,浅析Linux中PRI和NI的关系
  11. micropython stm32f429_[MicroPython]STM32F407开发板驱动OLED液晶屏
  12. 桌面云 服务器 价格,细数目前市场上桌面云的收费模式
  13. 吴恩达教授机器学习课程笔记【六】- Part 6 学习理论
  14. 用php解二元一次方程程序,编写一个程序,求二元一次方程组,编写一个程序,求二元一次方程组的解...
  15. 谷歌浏览器的笔记在哪里_selenium学习笔记之启动谷歌浏览器
  16. VC++将位图中保存的图像灰化(附源码)
  17. 计算机硬盘只显示c盘,电脑只显示C盘我们应该怎么办
  18. Linux系列 使用vi文本编辑器
  19. phpize的安装和使用
  20. SBW(线控转向系统齿轮齿条模块Matlab/Simulink模型搭建)

热门文章

  1. Delphi 开发跨平台 Android / iOS 程序的多语言
  2. Delphi可视化编程语言跨平台百科.
  3. 2013 全国高校计算机等级考试(广西考区)一级笔试试题,全国高校计算机等级考试广西考区一级笔试试题卷...
  4. Axis2学习笔记 (Axiom 篇 )
  5. mysql数据库名忘了_忘了mysql数据库密码,该怎么办???
  6. 女性创业加速器计划成立一周年声明
  7. 马云鹤:人间四月,芳菲深处是流年
  8. RabbitMQ速通入门
  9. 机器学习 | MATLAB实现MLP多层感知机模型设计
  10. 【天赢金创】Reflux学习指南