2024已经很冷,2024年Android工作或更难找—

本文讲述了作为Android开发人员需要掌握的基本Java基础知识,包括数据类型、运算符、控制结构、面向对象编程、设计模式、异常处理、多线程和IO操作,同时强调了Kotlin在Android开发中的重要性。此外,还给出了面试中应注意的问题和建议的学习资源。
摘要由CSDN通过智能技术生成

相信这一点大家都能理解,你作为一个Android开发,不熟悉Java能行吗?当然具体要熟悉到什么程度呢?倒是让我想起来一个梗:面试的时候千万不要写自己“精通”XX语言,一旦写了精通,不管你精通的是什么,接下来面试官会在这个方面疯狂的探究细节,往死里怼你的。哈哈,现实中还真有这样的面试官,而且为数不少,所以这也成了约定俗成的规矩了。

好了,言归正传,作为一个Android开发,大致需要哪些Java基础呢?我列举一下,可能一时想的不太全面,姑且看之吧,今后有空可以详细的写一下。

基本的数据类型及对应的封装类:byte(Byte)、short(Short)、int(Integer)、long(Long)、float(Float)、double(Double)、char(Character)。

运算符:算术运算符(+、-、*、/、%、++、–)、关系运算符(>、<、==、!=、>=、<=)、位运算符(<<、>>、&、|、^、~、>>>)、逻辑运算符(&&、||、!)

、赋值运算符(=,以及一大串的先运算后赋值的运算符如+=)、instanceof运算符等。

循环:for循环、foreach循环、do-while循环、while循环。

分支:switch、if-else。

面向对象:类、对象、构造方法、继承、多态、重载、抽象、接口等。

设计模式:最常用的有单例模式、工厂模式、观察者模式等。

异常处理:各种异常类型,try-catch-finally。

多线程:Thread、Runnable,synchronized关键字。

IO:File、FileInput、FileOutput、FileInputStream、FileOutputStream、各个Writer和Reader类等。

常用类:ArrayList、HashMap、Calendar、Date等。

至于Kotlin语言嘛,比Java简洁不少,写起来十分带感,可以把它当成一个更好用的加强版Java。现在Google推动Kotlin的力度很大,虽然学会Kotlin并不能说是绝对必须的,但绝对是应聘时的一个重大加分项,一些好一点职位甚至会把它当成必备技能。

  • 在Android方面应该掌握的基础

作为一个Android开发,这方面可谓是必须掌握的,也是个十分宽泛的话题了,还是简单来说一下吧:

了解一个Android App工程的组成,了解每个目录都代表了什么(这是基础中的基础,你去面试Android开发,不可能连这个都不懂的)。

Activity:了解基本的生命周期,以及每个周期到底对用户和开发者意味着什么。如果能从源码级别了解Activity那就更好了。熟悉页面之间的跳转,数据传递,要是还能带上动画那就很出彩了。

Service:了解Service的生命周期和启动流程,知道什么情况下使用Service,跟Activity之间的数据交互。

ContentProvider:知道ContentProvider的原理,知道简单的使用。

BroadcastReceiver:知道如何发广播和接收广播,了解动态与静态注册广播的区别,懂得使用本地广播。

Fragment:熟悉Fragment的生命周期,与父Activity的关系,彼此的数据传递。

Layout:LinearLayout、FrameLayout、RelativeLayout和ConstraintLayout,知道它们的区别,清楚适合它们的应用场景。在完成符合产品原型与UI设计的布局同时,还要做到屏幕适配。

Wigdet:TextView、ImageView、EditText、ScrollView、ListView、RecyclerView、Button等,最好能够做到自己实现一个高性能的View。

第三方SDK:要熟悉一些几乎是“必备”的第三方SDK的集成和使用,比如支付宝和微信支付,极光或友盟的推送,友盟、腾讯等的统计与BUG分析,百度或高德地图,第三方分享(微信、QQ、微博等),IM即时通讯(如环信、融云等)。其中有的SDK不仅要会使用,还要做到一些自定义。

开源库:RxJava(非常重要,能让我们在开发时实现响应式编程,避免无穷无尽的缩进,十分推荐深入研究源码。我一看到简历上写着熟悉使用AsyncTask实现异步的就很烦……)、Retrofit+OkHttp(非常重要,现在你如果还在用Async-Http-Client或者Volley都根本不好意思跟人说话,尽管后两者也能实现功能需求)、ButterKnife、图片加载(Glide、Picasso、Fresco等总得熟悉一种)、数据库(GreenDao、Realm、Ormlite等,自己写SQLite还是麻烦了点)、Json解析(Gson、FastJson、Jackson、LoganSquare等)、性能分析(LeakCanary、BlockCanary等)。

架构:MVC、MVP、MVVM、Android Flux等,不管你选择哪个,基本要求是写出来的App架构清晰、别人理解起来容易。

工具:Android Studio这个IDE是不用多说了,不仅能开发,而且还进行性能分析等(如果你还在用Eclipse,那就当我啥都没说吧……)。最常见的团队代码管理Git也要熟练使用(什么?你们公司用的还是SVN?)。

  • 其他方面

这里指的不是你是技术了,而是看你个人的综合素质了。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

总结

其实要轻松掌握很简单,要点就两个:

  1. 找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。
  2. 多练。 (视频优势是互动感强,容易集中注意力)

你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

以上就是总结的关于在面试的一些总结,希望对大家能有些帮助,除了这些面试中需要注意的问题,当然最重要的就是刷题了,这里放上我之前整理的一份超全的面试专题PDF,大家有兴趣的可以自行领取或者私信我:

还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

【Android核心高级技术PDF文档,BAT大厂面试真题解析】点击:Android架构视频+BAT面试专题PDF+学习笔记即可获取!查看免费领取方式!

//bbs.csdn.net/topics/618156601)即可获取!查看免费领取方式!**

[外链图片转存中…(img-PuaAfbCT-1710489830590)]

这里只是整理出来的部分面试题,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值