美文网首页Android开发Android开发经验谈Android技术知识
二本渣渣,3年开发,从web前端转到Android移动端后拿到头

二本渣渣,3年开发,从web前端转到Android移动端后拿到头

作者: Android_until | 来源:发表于2020-08-27 15:57 被阅读0次

    唠叨一下

    先讲一下我的职业生涯哈,不想看的可以直接到最后一段。

    我是普通二本出身,一直飘在北京,先是做web网站开发,后转到了Android移动端,也没有什么好运气,就靠一点小机智,得过且过混到16年初,靠着移动互联网大浪把我推到了一家二线互联网企业,在这里才算真正重构了自己,感谢当时遇到的同事,以及有可以和公司一起成长的机会,先后经历了完整的插件化和RN重度封装,知道了虚拟机和Android源码的重要,并开始积累。

    18年初,由于公司内部重大调整,动荡不安,再加上自觉jvm和framework很溜了,于是开始看机会,寒冬初期也还算是顺利吧,进了一家普通的一线,可是没想到真正的大厂弯弯绕这么多,内斗激烈,效率如此之低,不是嫡系,你不仅少有升职加薪的机会,连好的项目都拿不到。

    这个时候迷茫了,大厂也算进来了,结果却如此令人失望,再加上看了一些中年危机的文章,更是稀里糊涂了,于是转而研究各种赚钱方式,基金,股票,房产,开店加盟等等吧。直到去年过年回家,跟老家发小聚会,介绍了各自的情况,才明白中国实体经济竟然是那么的糟糕,脏累险,如果轻易踏足,自己这个小白绝对会被人生吞活剥了的。

    还得多谢各路大神们的引导,这时才明白了一点,知识特别是你本专业的知识,才是安身立命之本,是你最好最快的赚钱方法,读了多少年的书中自有黄金屋,这刻才算真正领悟吧,于是用三个月逐渐修补自己最后的短板:开源库和算法,过程中,逐渐拿各细分行业的小独角兽练手,最后一次就搞定了头条,很顺利。

    以上就是我的唠叨和感慨,进入头条对于很多985研究生毕业的人来说,是件不太难的事情,可是对于普通人来说,还是个梦想,所以我稍微记录一下心路历程,给别人以参考。

    头条面试流程

    简历通过之后,HR会先跟你打个电话确认,然后发个流程邮件。一轮笔试,三轮技术面试,最后是HR面。

    在这里要聊一下,头条面试确实很有一套风格:笔试题时间大约只有四十分钟,是1个Java题,4个Android题,1个算法,1个设计,都是经典题型,谁都能写上点东西,这个最考验一个人的水平了,从你答题的深度,可以看出你的水平。

    技术面,每一轮时间都在一个小时左右,而且都有java,Android和算法,只是侧重点不一样,第一轮是笔试题+基础;第二轮是你简历上写的技术点,不断深入问;第三轮主要是聊你曾经做过的项目,会非常细。最后是HR,就是常见的提问,主要是收集你的情况,实话实说即可,不要太偏激就好。

    关于面试题

    头条对于员工的管理是极严格的,这些都是不允许透露的,所以为了不招惹麻烦,我就不能具体说每个题是什么了,实际上除了笔试题,其他说了也没意义,每个面试官都会根据自己的喜好以及你的简历,问出无数种问题,而且技术面足足有三轮,你可以幸运地过一个,不可能连续幸运三次,所以还是好好积累吧。

    面试准备

    首先,一定要先搭建自己的知识体系,再往里面填充各种东西,才能真正掌握,这个填充过程一定要从点滴做起,面试前才去突击是没多大作用的。

    比如这样:

    Android进阶学习路线图

    对于Android工程师来说,这个越来越成熟的岗位,要求是越来越高了,知识体系大约有十个方面:Java基础,Java虚拟机;Android基础,Android源码;开源库,算法;操作系统,计算机网络;软件工程,设计模式

    下面举几个最常见的面试问题吧:

    Java基础

    • final finally finalize有什么关系
    • HashMap原理
    • 编译时注解

    Java虚拟机

    按照问到的可能性是大小,类的加载 > JMM > GC > Java内存分区 > oop-klass > JIT

    Android基础

    • Activity A启动B之后生命周期
    • onSaveInstance()和onNewIntent()调用时机

    Android源码

    • 消息机制
    • View的事件处理机制
    • View的绘制过程
    • Activity启动过程

    开源库

    • OKHttp
    • Glide
    • LeakCanary
    • RxJava实现原理

    算法

    • 树的深度和广度优先遍历(非递归)
    • 100万个树找最大的100个
    • 快排
    • 堆排序

    操作系统

    • 进程和线程的区别
    • 多线程的实现方法
    • 异步改同步
    • 生产者消费者模式
    • 手写线程池

    计算机网络

    • 七层架构
    • TCP的三次握手四次挥手
    • https和http的区别

    软件工程

    • 类图
    • 时序图
    • 如何设计一个项目(往功能性,健壮性,性能性,时间成本四个纬度上套)

    设计模式

    • 面向对象七大原则
    • 手写单例
    • 手写观察者
    • 代理模式

    总结

    总之,北京居不易,而选择理工科的朋友,大多都出身普通,希望大家不要忘本,知识才是改变自身命运的唯一路径。蹉跎这么久,我也是最近两年才渐渐明白这个道理,于是借着这个机会,分享给大家。

    最后我在这里分享一下这段时间从朋友,大佬那里收集到的一些2019-2020BAT 面试真题解析,里面内容很多也很系统,包含了很多内容:Android 基础、Java 基础、Android 源码相关分析、常见的一些原理性问题等等,可以很好地帮助我们深刻理解Android相关知识点的原理以及面试相关知识

    这份资料把大厂面试中常被问到的技术点整理成了 600多页的PDF 干货,包知识脉络 + 诸多细节;还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

    这里也分享给广大面试同胞们,希望每位程序猿们都能面试成功~

    领取:【PDF】

    Android 基础知识点

    Java 基础知识点

    Android 源码相关分析

    常见的一些原理性问题

    腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析

    一键领取:【Android超硬核面试资料】

    希望大家在今年的金九银十里能够发挥顺利,offer多多,进到自己想进的公司,共勉!

    相关文章

      网友评论

        本文标题:二本渣渣,3年开发,从web前端转到Android移动端后拿到头

        本文链接:https://www.haomeiwen.com/subject/prmcsktx.html