热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

细数Android开发者的艰辛历程,offer拿到手软

前言19年6月份从网易云音乐离开,放弃了留学机会,开始了人生的第一次创业,前后尝试了两个项目,因为个人能力与时机因素都失败
前言

19年6月份从网易云音乐离开,放弃了留学机会,开始了人生的第一次创业,前后尝试了两个项目,因为个人能力与时机因素都失败了,虽然没能享受到创业所能够带来高杠杆物质上的回报,但是对个人软技能和自我边界认知上都有了很大的提升,对于这段经历有以下四点想送给准备创业和走在创业路上的朋友们。

  1. 创业本质是一个不断降低商业模式风险的过程。(创业前最好去北京798的智能硬件展厅看一看)
  2. 当你对于自己的未来感到模糊,对当下感到厌倦的时候,跳出舒适圈,快速尝试是最好的解决方案。
  3. 打开自己,多结识各路“牛鬼蛇神”,你当下的困惑大多都有人比你提前经历过,且都可以给予你具体可操的解决方案。
  4. 忌纸上谈兵,实际去做的质感是书本上永远学习不到的,去干而不是去看。

经过这一次创业和之前的工作经历,对于下一份的工作在选择上所以也有了更多的想法,对于工作的成长性和平台背景是当下比较看重的,当然钱也是考核的一个重要指标(一切以成长和主人翁精神来鼓励加班不给钱的公司都是PUA)。结合自身的职业发展诉求,快手和字节跳动是本次找工作的目标公司。这两家公司的offer也是首先拿到的,因为offer的流程有些时间,因此也面试了一些其它的公司,感受到了各家公司的工作流程,面试过程中面试官也给予了很多技术成长上的建议,对于一些技术和设计问题也展开了一些探讨。一些面试官分享了他们在做的业务,商业模式等,总之在职业素养,技术视野,商业模式上都在潜移默化中得到一些提升。

中高级工程师不会系统学习Android开发?看看这份Android知识体系总结(BAT面试&高级进阶)

此篇文章是初中高级工程师学习文章,知识体系较为完整。有如下特点:
[1]知识结构全面
[2]跟随当下技术潮流实时更新
[3]可用于面试 & 学习
[4]知识分为文字部分和视频部分,任性选择
[5]正确的职业规划
[6]方便工作过程中遗忘知识点快速查询

这份知识体系大纲包括:

Android部分:


  • 四大组件篇
    Activity
    BroadcastReceiver
    ContentProvider
    Service

  • 第五大组件篇
    Fragment

  • 对话框 & 弹框 & 悬浮窗 & 通知篇
    Dialog
    PopWindow
    DialogFragment
    Notification

  • Android UI控件篇
    基础布局
    基础控件
    高级控件(ListView,RecyclerView,ViewPager,WebView…)
    自定义控件(包含很多其它知识)
     Android坐标系
     Android的角度与弧度
     View绘制机制
     View事件分发
     Android动画机制
     Canvas类
     Path类
    贝塞尔曲线

    原生控件源码分析

  • Android系统架构篇
    系统架构
    系统版本特点 & 区别

  • Android通信篇
    线程间通信框架Handler
    AsyncTask
    HandlerThread
    IntentService
    进程间通信

  • Android网络编程篇
    网络请求
    Token & Session & COOKIE三者联系与区别
    数据解析[Json,XML]

  • Android数据持久化篇
    文件存储
    key-value存储[SharePreference,MMKV(腾讯)]
    数据库存储[SQL语句,SQLite]
    序列化

  • Android 原生音视频图片开发[非JNI]
    图片开发(Bitmap)
    视频开发[GsyPlayer,JiaoZiPlayer…]
    音频开发[MediaPlayer]

  • Android特殊知识点【不知道如何分类的知识点】
    gradle
    蓝牙
    定位
    SDK开发与接入
    Drawable

  • Android必须掌握的轮子
    异步通信[EventBus,RxJava]
    图片加载[Glide,Picasso,Fresco]
    内存优化[LeackCanary,BlockCanary]
    依赖注入[ButterKnife,Dagger]
    数据库轮子[LitePal,GreenDao…]

  • 项目架构篇
    MVC & MVP & MVVM
    组件化
    JetPack

  • Android高级进阶篇
    UI绘制过程
    一个app启动过程
    Android 动画机制
    View事件分发
    热更新 & 插件化
    Handler源码分析

  • Android优化篇
    内存优化
    布局优化
    UI卡顿优化
    UI适配优化
    apk安全优化

  • Android职业方向篇【这是笔者新加入的,对于Andorid开发者而言非常重要,要有自己的职业规划】
    资深UI工程师[自定义控件,源码方向]
    Android底层开发工程师[C++音视频/图像算法/智能家居]
    Android资深架构师[造得一手牛逼的好轮子,熟悉Framework,Java高级知识等等]
    全栈工程师(以Android为核心技术)

  • Android工作工具篇
    Git/SVN(代码版本控制)
    调试工作
    测试

  • Android工作必备技能篇
    玩转Gradle
    打包 & 多渠道打包
    加固 & 混淆

  • Android跨平台开发篇
    WebView & 第三方内核
    Flutter

  • Android项目学习篇
    实战项目学习

Java部分

基础部分

  • 操作系统
  • 八大基本数据类型&引用类型
  • JDK&JRE&JVM篇
  • 面向过程&面向对象篇
  • 数组
  • NIO/BIO/AIO
  • Java异常体系篇
  • 集合篇
  • 多线程篇
  • 泛型篇
  • Java注解篇
  • 反射篇
  • Socket
  • Java设计模式篇

高级部分

  • JVM
  • AOP
  • APT
  • 多线程核心知识点

Kotlin部分:

基础部分

  • 基本数据类型
  • 数组
  • 集合
  • 函数
  • 类 & 接口
  • 扩展方法
  • 空类型安全
  • 智能类型转换

高级部分

  • 泛型
  • 反射
  • 注解
  • 协程

数据结构与算法部分

数据结构部分

  • 时间复杂度 & 空间复杂度
  • 数组
  • 链表
  • 队列
  • 散列表

算法部分

  • 排序(8大排序)
  • 查找
  • 递归 & 回溯算法
  • 贪心算法

计算机网络部分


  • 五层网络模型
  • http[请求头,响应体,三次握手,四次挥手等]
  • https
  • DNS
  • Socket & WebSocket
  • 浏览器访问一个url的过程
  • Android技术应用【Andorid中能运用的网络知识点】

Android面试部分


  • Java部分
  • Kotlin部分
  • Android部分
  • 移动UI框架部分(Flutter为主)
  • 数据结构与算法部分
  • 常用的开源库部分
  • 计算机网络认识

文末

那么对于想坚持程序员这行的真的就一点希望都没有吗?
其实不然,在互联网的大浪淘沙之下,留下的永远是最优秀的,我们考虑的不是哪个行业差哪个行业难,就逃避掉这些,无论哪个行业,都会有他的问题,但是无论哪个行业都会有站在最顶端的那群人。我们要做的就是努力提升自己,让自己站在最顶端,学历不够那就去读,知识不够那就去学。人之所以为人,不就是有解决问题的能力吗?挡住自己的由于只有自己。点击我的GitHub下述资料免费领取
Android希望=技能+面试

  • 技能

  • 面试技巧+面试题
    /Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**
    Android希望=技能+面试

  • 技能
    [外链图片转存中…(img-hq24gD6S-1621583900468)]

  • 面试技巧+面试题


推荐阅读
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
author-avatar
wodewodewoe
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有