美文网首页Android开发Android开发Android开发经验谈
2022年,工作1到3年的Android开发面试需要会哪些?

2022年,工作1到3年的Android开发面试需要会哪些?

作者: Android写到秃 | 来源:发表于2022-04-26 22:29 被阅读0次

2022年了,只能说现在Android开发找工作的招聘要求也是越来越高,我以网上招聘的信息作为例子来分析下!

可以说现在网上的招聘信息都会有“基础扎实”这一条,不管是大厂还是一些中小公司考察候选人时都会问到这个“基础”!

一般包括Android基础、Java基础、Android常用的开源框架、设计模式和网络基础等等。下面我来列举一下常见的考察点:

Java相关

  • Java基础
  • Java并发(线程池的使用和原理,锁机制:synchronizedLock,volatile关键字ThreadLocal原理)
  • JVM

Android相关

Android基础

  • Handler通信机制
  • 跨进程通信方式
  • Activity启动模式
  • 内存优化、布局优化
  • View的绘制流程
  • Android事件分发机制
  • 动画的分类及其原理
  • MVC、MVP和MVVM模式
  • SparseArray原理

Android开源框架

  • Android网络库:VolleyOkHttpRetrofit的使用、原理和对比
  • Android图片库:GlidePicasso的使用、原理和对比
  • EventBus的使用和原理
  • RxJava的使用和原理
  • Router的使用和原理

网络基础

  • HTTP相关:包括HTTP2.0、HTTPS等
  • TCP相关:三次握手、四次挥手等

设计模式

  • 单例模式
  • 代理模式:静态代理和动态代理
  • 观察者模式

算法相关

这里要注意的:我们刷《剑指Offer》并不是去记每道题,而是记每种解题的思路,自己有个总结,这样以后在遇到没见过的题目时,才会应对自如。

之前我在准备面试的时候也把一些高频的问题做了笔记整理成了文档,大家有需要也可以拿去可以参考,点击这来我的个人博客查看获取学习吧

不过对于工作一年问什么这个问题没有绝对的,面试官一个会根据你的简历情况来提问,再一个每个人的技术水平不一样。

如今,国内移动互联网的红利期已过,Android 开发工程师也从最初的一人难求,到现在的一个岗位百人竞争,僧多粥少的情况直接导致整个行业对求职者的要求越来越高。另外,Android 开发越来越规范,间接导致项目对质量要求的提升。内存优化、UI 卡顿优化、App 崩溃监控等性能调优也逐渐成了人手必备的技能。

只有不断提升自己的技术实力,让自己进阶为「高级/资深工程师」,你才有机会爬上 Android 的峰顶。下面来分享下我这些年学习 Android 的心得经验吧,希望能给大家一点点帮助。

01、Android开发必备底层基础

Android以Java为基础的,所以需要学习Java语言核心技术。Java语言基础、Java面向对象编程、JDK核心API、Java集合框架、Java网络编 程、JavaI/O编程、Java多线程编程、Java异常机制、Java安全。在面试的时候面试官首先期望的是,你的基本功是扎实的,学习能力是能跟得上的。

要想基础扎实,我给大家推荐一份 GitHub 上Android开发进阶学习资料,Java 泛型、Java 反射、Java 并发编程、Java IO 和Android虚拟机等,这些基本知识点都包括在内了

我列一下 Java 基础部分要掌握的知识点。

02、FrameWork源码及高级UI

在Android中,Framework泛指系统架构层。Framework的中文意思是“框架”,在软件开发中通常指开发框架,在一个系统中处于内核层之上,为顶层应用提供接口,被设计用来帮助开发者快速开发顶层应用,而不必关心系统内核运行机制,通常Framework都会隐藏main函数等应用程序必须的组件,开发人员只需把精力放在功能代码的实现上。说简单点,Framework具体的工作也就是为android应用开发的开发人员提供了一系列的服务和API的接口。

FrameWork源码可以到 B 站上看这个视频教程。

https://www.bilibili.com/video/BV1Uv411P79L

UI主要是学习如何开发界面,并且不只是教大家如何创建布局,而是从原理的角度讲UI底层,学习原理,可以达到的效果是:以后市面上绝大部分的UI特效,比如QQ音乐那种界面,完全可以靠自己的能力写出来,也不用指望第三方sdk

高级UI这块可以到 B 站上看这个视频教程

https://www.bilibili.com/video/BV1PQ4y1271N

03、 Android性能优化

随着 Android 开发越来越规范,国内工程师的素质,以及用户对产品的要求也越来越高。这也间接导致我们对研发项目的质量要求到了近乎苛刻的地步,内存优化、UI 卡顿优化、App 崩溃监控等性能调优也逐渐成了人手必备的技能。工作之余,难免让我们感慨学无止境,以及 Android 开发也是水深不见底。

我给大家推荐一份 GitHub 上Android性能优化进阶学习资料,启动优化、电量优化、卡顿优化、线程优化等,这些基本知识点都包括在内了,需要完整版的朋友,点击这来我的个人博客查看获取学习吧!!

04、音视频开发进阶

随着各种音视频技术的完善、5G 的落地,以及各种音视频应用的出现,在未来两三年内,音视频必定会像当年移动互联网一样出现井喷的人才需求。然而,音视频技术本身纷繁、复杂,需要很深的专业及技术背景。

举个简单的例子

  • 当进行音视频互动时,经常会听到自己的回音,这是什么原因引起的呢?
  • 再比如说,用户进入教室后经常看到老师的视频卡顿、花屏,这是什么原因造成的? 你又该如何解决呢?

如果你没有很深的背景知识,对音视频编解码原理不清楚,对音视频处理流程不了解的话, 你是根本无法解决上述问题的。

另外,如果你想开发一款音视频产品,不仅需要有最基础的音视频知识(如音视频的编码、解码),往往还需要多层级的技术栈,涉及移动端开发、PC 端开发、各种协议规范、网络协议、socket 开发等。所以,要想成为一员合格的音视频开发工程师,你需要对各领域的知识都有一些掌握才行。

如何学习音视频技术

看到上面这些困难,是不是很多同学开始打退堂鼓了? 这里我推荐可以到 B 站上看这个视频教程。

手撕字节跳动Android音视频面试:解读41道超经典音视频开发问题,吃透吊锤面试官!

05、Android前言技术

  • Android平台特性和主流框架实现及底层源码有所了解
  • 掌握Kotlin语言,具备良好的架构设计和编码能力
  • 熟悉插件化、热修复相关等前沿技术
  • 具备一些RN、Flutter等跨平台开发经验

同时现在去很多公司面试,除了你具备基本的能够写一个高性能app的能力后,一般都会在自己的app里面加一些现有的相对较 666 的技术,这些技术我们称之为前沿技术。他们一般包含热升级,热修复,App Instant,强制更新,组件化路由架构Arouter,RxJava,IOC架构方法,Hook技术等等,当然,这些技术你不能只会用,你需要知道他的原理,有时候,你还需要知道如何对这些架构进行改进。

写在最后

Android 工程师的竞争环境越来越激烈,但 Andorid 开发仍然是一个刚需的工种,行业对人才的需求从未终止,但与此同时也对我们提出了更高的要求。如果你仍然只是在日常开发过程中复制粘贴,或者仍以完成一个项目需求为唯一目的,只是掌握了如何去调用某个 API 或者数据结构来实现某个功能,已经不能算是合格的工程师了。

对于 Android 开发者来说,要成为优秀的 Android 开发工程师,不只能够让你在工作中更加游刃有余,同样会让你在职业发展中面临更多优质的机遇。而一个初中级 Android 工程师在通往高级甚至是资深工程师的发展过程中,我认为以上中超过 70% 的内容都是你必须掌握,且无法绕过的。

挑战中,总是蕴藏着机遇;大浪淘沙,留下来的必定都是顶尖人才。同时我在这分享这份学习时收集整理的Android底层基础到架构成长学习笔记大全,希望我能够在这里帮到你。这些笔记和面试文档已经全部整理收录好了,点击这来我的个人博客查看获取学习吧

相关文章

网友评论

    本文标题:2022年,工作1到3年的Android开发面试需要会哪些?

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