![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 89
zhireshini233
曾服务于东芝,东方集团,阿里,三一重工,有15年项目开发经验,熟悉汇编,java,c/c++开发语言,对系统底层,web开发和移动端开发有较深入研究。主要涉及应用层mis,erp项目和各种嵌入式设备软件(手机,平板,交换机,复合机,无人机,电视,智能家居等)
展开
-
突发,阿里腾讯大规模裁员30%......
2022年的春天,并不太平。本以为裁员潮已经退去,即将迎来的金三银四会给就业市场带来温暖的春意。但就在3月13日,有传言称:腾讯阿里等互联网巨头会在未来几周内大裁员。据员工内部猜测腾讯预计裁员10%~30%,阿里裁员30%。本周,阿里旗下MMC事业群已率先计划裁员,本次裁员数量约20%,目前多个业务线已经初步敲定裁员名单。有脉脉网友认为,此次阿里裁员也和今年披露的最新财报有关。今年2月份,阿里公布的2022财年第三季度业绩报告,被称为“阿里史上最差财报”。公开资料显示,阿里巴巴于2021年3月原创 2022-03-14 16:04:51 · 771 阅读 · 0 评论 -
让你易上手的Jetpack Compose教程
简介Jetpack Compose是Google最新提出的一个可以用声明式来绘制UI的框架。这个框架可以有效的提高UI的重复使用率,编程速度,以及UI的绘制效率。现在Jetpack Compose是beta版本,API终于变得稳定了一点,我们用也可以认真地,全面地开始学习这个框架了。这一篇我们首先学习一下Jetpack Compose的编程思想和一些名词。编程思想及专有名词2.1 声明式编程大部分Android开发者都知道Jetpack Comopse是声明式UI编程。那到底什么是声明式编程呢。原创 2022-01-14 22:19:50 · 890 阅读 · 0 评论 -
35岁程序员职业危机?那45-50岁的程序员都在干什么?
在 Reddit 有一则关于程序员职业生涯问题的帖子很火:翻译:随着年龄的增长,程序员的职业生涯会发生什么变化?对于 45-50 岁左右的编程经历,你有什么故事或建议分享吗?如何在那之前规划自己的职业生涯?美国和欧洲在这个问题上有什么不同吗?在这篇帖子的评论中,许多“高龄”程序员分享了自己的故事和经历,或是根据自己的实验提供了一些职业发展建议。@dhjdhj:他先是给出了自己的建议:“不要害怕或回避变化,这是保持与时俱进的方法。”接着他分享了自己的经历,多年以前,30 多岁的他在一家大型研究原创 2022-01-11 21:01:00 · 7835 阅读 · 0 评论 -
2021→2022:这份最新Android面试题合集助你金三银四跳槽顺利
转眼又到年底,不管你是否准备好,新年的钟声即将敲响。仔细想想,这一年发生了太多大事:互联网大厂去996,元宇宙风口爆发 ……2021是充满变化的一年,身处时代洪流下的我们,跌宕起伏,喜怒哀乐,所有的情感都已化作难以磨灭的年度记忆。尽管生活周而复始,但仍值得期待。为了更好地帮助大家进行学习,在这里给大家分享一份BAT大佬整理总结出来的《2022中高级Android面试必知百题》,里面包含了所有Android面试的知识点,可以全面的进行知识补给。这份资料包含了Java和Android两大部分,由于篇幅原原创 2022-01-07 09:53:49 · 229 阅读 · 0 评论 -
史上最详Android版kotlin协程入门进阶实战指南,你学废了吗?
Kotlin协程Kotlin协程是目前很流行的一款用于异步任务处理的库,都知道它处理异步任务特别好用,但是很少人去探究它背后的原理。还有一点,由于它是用于处理异步任务的,很多人将协程与线程做对比,也有一些人将协程与Rxjava做对比。这篇文章将从最简单的用法开始,层层递进的讲解协成知识点。如何使用使用协程,以及协程中的一些重要概念首先先介绍一下怎么开启一个协程,在Android开发中,如果是在Activity或者Fragment中,那么可以通过以下这种方式开启一个协程。class MainActiv原创 2022-01-05 11:41:16 · 782 阅读 · 0 评论 -
阿里高工总结:Android组件化深入思考
前言在平时的开发过程中,中小项目MVC 、MVP 已经够用。但在大公司中,由于过多的业务逻辑,数个开发人员合作开发。复用问题、不方便、编译时长,方便测试等问题的出现,也就决定了Android 架构的演变方向,最近时间充裕,该片文章为本人从零搭建组件化的一些思考记录及总结,有不对的地方还望多包涵。一、 什么是组件化项目按功能拆分成功若干个组件,每个组件负责相应的功能,每个组件都可以以一个单独的 module 开发,并且可以单独抽出来作为 SDK 对外发布使用,比如登录组件,视频组件。组件化与模块化其实很原创 2021-12-29 16:34:55 · 198 阅读 · 0 评论 -
2021年,Flutter做了哪些重大更新?
一、新年寄语又到年底了,不知道你们有没有觉得,自从过了某个年龄以后,时间好像就开始过的越来越快了。不知不觉,新冠疫情发生已经有 2 年多了,从疫情最开始的人心惶惶,再到我们国人万众一心抗疫,这场苦难好像无形中也增加了民族的凝聚力。如果可以许下一个愿望,希望在新的 2022,我们可以早日战胜新冠。二、引言全职使用 Flutter 开发也有 2 年多的时间了,从 Flutter 发布之初,我就一直在关注,但那时主要在用 React Native,就觉得同样是跨平台技术,没有必要在为了解决同一个问题上,原创 2021-12-26 17:15:01 · 1011 阅读 · 0 评论 -
Android开发:以下问题如果中了三个,一定要引起警觉
每位开发人员在自己的职业生涯、学习经历中,都会“开发”出一些坏习惯。在这篇文章中,作者向读者展示他自己有或是老也改不了的坏习惯。他希望如果你刚开始这份事业,能够避免这些坏习惯;如果你已经有了这些毛病,那希望你能够意识到它们,并可以开始改变。1. 休息不够我敢肯定你们很多人或者说几乎所有人都对这个坏习惯感到十分罪恶。我也是,对没有休息或休息不够依然有罪恶感。曾有一段时间,我凌晨六点入睡,中午一点左右起来吃午饭,一直工作到第二天凌晨六七点。这简直太常见了,几乎每天都是如此。在工作任务紧急的时候,我做过许多原创 2021-12-20 16:33:30 · 170 阅读 · 0 评论 -
也有了这本阿里《Android代码规范指南》,你也能写出诗一样的代码
前言无论你是个人开发还是团队,一个良好的代码规范,能够在项目当中发挥举足轻重的作用;它不仅能使你们的开发更加高效,而且还会减少BUG产生的几率,增强代码可维护性及稳定性。下面分享给大家这份来自阿里《Android代码规范指南》,如果你耐心看完,一定会提升代码质量,让你写出诗一样的代码。1. Android 的工具规范工欲善其事,必先利其器。由于 Android 基本都基于 Android Studio 进行开发,所以工具规范全部以 Android Studio 为前提。2. Android 的分原创 2021-12-13 10:54:50 · 424 阅读 · 0 评论 -
月薪没到30K的Android开发必须要背的面试八股文,我先啃为敬
前两天有读者在后台留言:为了进大厂,花了很多时间和精力在面试准备上,也刷了很多题。但题刷多了之后有点怀疑人生,不知道刷的这些题在之后的工作中能不能用到,如果只是为面试而刷题是不是在浪费人生呢?怎么说呢?在我们没法改变现状的时候,最好的做法就是读懂规则,并找到这个规则之下的最优解。如果你想进大厂,或者去一个更大、更好的平台,就一定要做好两个准备:真的有本事;面试一定要认真准备。刷题就是认真准备的一种。否则的话,很多东西你看起来知道、会用,但在面试的高压场景下,很可能大脑一片空白,啥原创 2021-12-08 11:29:32 · 1237 阅读 · 0 评论 -
Kotlin 1.6 正式发布,带来这些新特性
11月16日 Kotlin 1.6.0 正式发布,让我们看一下这个版本中都有哪些新特性更安全的when语句挂起函数类型可作父类普通函数转挂起函数Builder函数更加易用递归泛型的类型推导注解相关的一些优化1. 更安全的 when 语句Kotlin 的 when 关键字允许我们在 case 分支中写表达式或者语句。1.6 之前在 case 分支写语句时存在安全隐患:// 定义枚举 enum class Mode { ON, OFF }val x: Mode = Mode.O.原创 2021-12-06 15:31:10 · 771 阅读 · 0 评论 -
字节跳动内部人手一份的《音视频精编源码解析》意外流出,快来看
目前,市面上关于音视频学习的相关书籍并不多,而且即使看了书籍学了理论,最终还是要回归到代码上来。毕竟 IT 行业实践性要求高,强调动手能力,音视频这方面就更得多操作和探索了。那么我们应该如何探索学习音视频技术呢?这里给大家分享一份《音视频精编源码解析》,内容分为7个章节,涵盖 WebRTC Native 源码导读、X264 源码解读、FFmpeg、ijkplayer 源码分析系列、jsmpeg 源码解析、Live555 源码解析、Opus 源码解析,一共 675 页。第一章 WebRTC Nativ原创 2021-11-17 16:13:52 · 432 阅读 · 0 评论 -
通过实现ViewBinding,学习自定义插件及JavaPoet的使用
一、概述这篇文章是为了了解viewBinding是如何实现的,我很好奇为什么我们在项目的module的build.gradle中添加了如下代码viewBinding{ enable true}在make项目后就能自动生成ActivityMainBinding这些类的呢?而我们为什么通过binding就能找到对应的控件的呢?网上的博客中大部分都是只解释了,自动生成的ActivityMainBinding类中替我们做了findViewById所以我们可以通过binding找的对应的控件,但原创 2021-11-05 22:14:22 · 461 阅读 · 2 评论 -
得到谷歌认证的《Android UI框架进阶解密》开源了,亮瞎我的钛合金
根据调查显示,,iOS与Android的市场份额差距正越来越大。Android设备正在成为手机应用市场的主力军。如何从设计层面创造一个优美的App界面来吸引用户已然成为广大App开发者们必做的功课之一。但是开源届的各种UI框架数不胜数,而且各个大厂家,都有一套自己的框架在那摆着,这让我们Android开发者们情何以堪。如此多的UI框架,我们该如何选择呢,如何快速掌握应用到实际开发中呢?特别是我们新手同学,刚开始接触框架时不是特别的理解,也不大会用。为了解决这个问题,GitHub上一位大佬开源了一份学习手原创 2021-11-04 21:14:13 · 216 阅读 · 0 评论 -
谷歌认证:2021全新Android开源框架权威排行榜(附源码解析)
随着蓬勃发展的开源时代的到来,为了减少开发成本,提高开发效率,越来越多的公司使用各种开源项目,作为开发者,如果能充分利用好开源项目中的资源,不仅能提高实践能力,专业知识水平,还能从中其中学到的优秀的架构思想。但是开源界的Android框架实在太多了,多到近乎疯狂的地步,让我们在选择的时候不知所措。特此整理了这份《2021全新Android百大开源框架源码解析》,帮助大家在使用时可以快速查找。如果你能熟练运用这里面所提到的框架,在遇到某种需求的时候,立刻会拿出“最优秀的框架”去解决,意味着你离高级工程师不原创 2021-11-02 21:14:55 · 1164 阅读 · 1 评论 -
都2021年了,还有人在研究Framework源码?
Android是一个庞大的系统,Android Framework只是对系统的- -个封装,里面还牵扯到JNI、C++、Java虚拟机、Linux系统内核、 指令集等。面对如此庞大的系统,我们得有-定的章法去阅读源码,否则就会只见树木不见森林,陷入卷帙浩繁的细节与琐碎之中。要善于抓住主线和支线,主线指的就是Android系统的各个模块,支线就是这个模块从上值下各个层级中的重要元素,逐- -分析,直至探究到模块的最根源层。要善于去粗存精,Android Framework也是人写的,有精华也有糟粕,并不是原创 2021-10-30 16:24:15 · 133 阅读 · 1 评论 -
阿里内部保姆级教程:手把手带你搭建一个优秀的Android项目架构
当我们新进一个公司,接受别人的项目的时候,基本都会说句MMP,SHI一样的代码啊,啥玩意啊,搞得什么啊。我擦,我就改了一个参数,怎么全乱套了,一个功能怎么天上地下都需要改啊。没有经受过痛苦的人,是不会想了解架构的,只有痛苦过的人,才会急切的了解架构,好好做人,不作孽。那么一个良好的架构需要什么呢?根据设计原则,有以下:实现项目所需要的功能,为业务需求打下基础可扩展性、可配置性足够强大易用性,方便新成员学习和上手代码高可复用性,添加新功能的时候可以重用大部分已有代码大厂热门架构演进之路对原创 2021-10-29 20:43:15 · 251 阅读 · 1 评论 -
阿里前技术总监肝了N小时,整理了100+Android开源框架源码解析,拿去吧你
说到源码,大家脑海里可能浮现出四个字:我太难了。读源码貌似和我们遥不可及,因为在日常工作中,我们基本掌握在熟练的程度上,就能够满足工作需求,即便是想看源码,也会被源码复杂的逻辑拒之门外,成为了我们心中挥之不去的阴影。那么我们真的有必要阅读源码吗? 我以一个过来人的角度看,答案是肯定的,阅读源码不只是停留在源码层面,它还会带来一些附加的价值。笔者读过很多源码,比如主流库OkHttp、Retrofit、EventBus、ARouter源码等等。 要说在阅读源码的过程,痛苦么?我感觉过程是痛苦的,但是读完之后,原创 2021-10-28 21:30:51 · 251 阅读 · 1 评论 -
字节跳动六面Android开发岗凉凉,还有更惨的吗?
抖音社交一面 60min项目volitale与synchronized的区别手写单例匿名内部类如何持有外部类对象内存泄漏的概念内存泄漏的场景内存泄漏检测的工具handler原理,sendMessage与sendMessageDelay如何保证Message放入MessageQueue中的顺序两个Message相隔5秒,这5秒内线程会一直阻塞吗自定义 View如何特殊处理wrap_content,padding的实现MVVM和MVP 的区别(原创 2021-09-29 22:04:32 · 224 阅读 · 1 评论 -
起飞了!Github新开源高星《Flutter内核解析与项目实战》,安卓进阶必备
背景疑问:中小公司维护一个 App 的成本太高了,有没有办法可以降低成本的可能性,但是又不想让代码缺少维护?有没有方案可以实现一份代码可以运行在多个平台,减少沟通成本呢?这个时候Flutter就出来了。有了Flutter,就有了几乎无穷无尽的可能性,因此即使是体量巨大的App也可以轻松地被创建出来。如果你是做移动App开发的并且尚未尝试过Flutter,我强烈建议你试一下,因为我相信你也会爱上它的。但是我们在学习Flutter的时候可能遇到过下面这些问题:1、Flutter 从语言到开发框原创 2021-09-28 16:13:10 · 357 阅读 · 2 评论 -
一文理解模块化、组件化、插件化的区别——Android开发进阶必备
从本篇开始,打算从广义上探究一下移动架构的思想;包括现在仍然比较火热的模块化,组件化, 插件化等架构思想。话说在前面,本篇旨在说明当前主流架构的设计概念,让大家了解当前的架构形式,以及主要用了什么设计思想,什么设计思路,算是引导篇…一、模块化,组件化,插件化上述概念已经好久了,或许还是有一些同胞对这些概念不是很清楚,大体知道是什么,但是详细也不知道是什么。现在来解析一下。二、单工程模式移动开发诞生,我们开发移动项目,我相信大多用的是单工程单任务的开发模式,二话不说,直接就开始写起,是不是这样呢?n原创 2021-09-27 21:58:32 · 1718 阅读 · 1 评论 -
爆火的《Android中高级面试必备》!靠着它拿到百度offer啦,入职定薪25*15
准备工作主要是明确自己想要加入的公司,并开始做技术准备。目标公司是BAT,我需要到更大的平台和更优秀的人做更好的项目,正常来说加入BAT以后可以让自己的实力和眼界得到提升,并且有一线大厂的光环对以后都是蛮重要的。有人说去哪里都一样,去了大厂也是个螺丝钉,我想说我宁愿做航空母舰上的螺丝钉也不愿意做拖拉机上的螺丝钉。其实在求职的过程中一次又一次的失败曾经让我放弃BAT了,转而投向其他我认为有前景的公司,不过最初我真的是非常想去BAT!做梦都想去。关于技术准备,主要是包含下面几项:项目经历Java基原创 2021-09-26 21:04:06 · 118 阅读 · 1 评论 -
国庆节不知道学什么?这份 Android 优秀技术文章清单请收下
技术文章一文讲述 | kernel 图显系统的 DRM FRAMEBUFFER https://mp.weixin.qq.com/s/F6uEYFIGfodTg6M2-pJ-MA网络基本功系列 https://wizardforcel.gitbooks.io/network-basic/content/index.htmlLinux 中的等待队列机制 https://zhuanlan.zhihu.com/p/97107297何为 Root? https://mp.weixin.qq.com/s/i原创 2021-09-23 21:54:47 · 188 阅读 · 1 评论 -
Android面试必备攻略!爆火的《Android性能优化实战解析》,含腾讯、支付宝、抖音、百度等各大热门App性能优化实践
移动互联网的发展不知不觉已经十多年了,可以说,国内移动互联网的红利期已经过去了,现在是增量有限,存量厮杀,从争夺用户到争夺时长。不管是用户也好、企业也好,都对 App 的用户体验和性能提出了更高的要求。然而,一个 App 产品在快速迭代的过程中总会也必然会留下一些技术债务,当一个 App 产品逐渐走向成熟、用户体量逐渐增多,也必然会面临一个问题:性能优化。性能优化也成了移动开发工程师迈向高级工程师道路上一道避不开的坎,而这道坎,说实话门槛和学习成本还是挺高的。性能优化也是企业考察一个高级 Android原创 2021-09-22 22:19:37 · 137 阅读 · 0 评论 -
探索Android开源框架之OkHttp源码解析
一、OkHttp介绍1.这个库的作用:网络底层库,它是基于 http 协议封装的一套请求客户端,虽然它也可以开线程,但根本上它更偏向真正的请求,跟 HttpClient, HttpUrlConnection 的职责是一样的。其中封装了网络请求 get、post 等底层操作的实现。2.项目中使用这个库的原因(优点)OkHttp 提供了对最新的 HTTP 协议版本 HTTP/2 和 SPDY的支持,这使得对同一个主机发出的所有请求都可以共享相同的套接字连接。如果 HTTP/2 和 SPDY 不可用,原创 2021-09-15 20:58:00 · 188 阅读 · 0 评论 -
良心巨作,阿里大佬全新开源《Android架构设计权威指南》,进阶Android高工必备
我们开发的初期往往并不需要什么框架,因为 Android Framework 良好的容错性帮助我们避免了很多问题,甚至你不需要深入的学习就可以写出一个较为完善的 APP,几个简单Material Design 风格界面加上一些数据这让人人都能成为 Android 开发者,但是真的这样就够了吗?当然不够!!随着我们的项目越来越庞大,各种问题接踵而至,混乱的数据存储、获取,灵活性不够高的代码,会成为我们项目中、后期最大的阻碍,任由其自由发展的后果就是,导致项目狼藉一片,我们将很难加入新的功能,只能对它进行重原创 2021-09-13 21:03:59 · 140 阅读 · 0 评论 -
Android面试必备!爆火超全的《Android性能优化全方面解析》
一、前言使用过Android系统手机的同学都知道,Android手机越用越卡,这个卡主要体现在手机系统越用越卡,打开APP的速度越来越慢。Android手机越用越卡的原因主要有:1、Android系统源码是开放的,像国内的几大手机厂商,都是对系统进入定制开发,这样就会引发一系列问题,比如说著名的系统碎片化问题;2、APP开发人员要对各个系统做各种适配,开发人员的水平参次不齐,开发出来的APP就会出现这样那样的问题。Android应用的性能优化是每个Android开发人员必然会遇到的,也是跳槽面试时基原创 2021-09-10 17:27:03 · 179 阅读 · 0 评论 -
新鲜的字节跳动实习面经(Android开发岗)
开篇先说明一下, 楼主是二本双非学校,科班生,有三个App上架,这学期大四。7月1号投了字节的简历, 7月中旬参加了笔试,7月底收到字节面试邀请。8月初参加了第一轮面试,8月中旬参加了二面,8月27日参加了三面。9月7日 offer mail。面试过程一面自我介绍大聊实习经历(真的聊了蛮久)死锁线程和进程的区别如何保证线程安全synchronized和lock的区别看过/用过什么Android第三方库Android申请权限的流程View的绘制流程(不会)那假如让我自己写一个自定义原创 2021-09-09 20:42:10 · 445 阅读 · 3 评论 -
不会Flutter连面试的机会都不给?为什么那么多公司钟爱 Flutter ?
Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。在国内,除了阿里、腾讯、美团等大厂外,国内很多的中小团队也开始使用Flutter来作为移动应用开发的首选,并且很多公司在移动招聘方面也要求具有Flutter开发的背景。Flutter是一个跨平台的gui框架,你能用它来实现一个带有图形界面的应用程序。所以理论上没什么好学的,你应该在短时间内就上手该工具,而不是花大量时间去学习。像maven central这种中原创 2021-09-07 17:33:13 · 419 阅读 · 3 评论 -
一线大厂资深APP性能优化总结(含美团、淘宝、支付宝、抖音等等)
做了这么久性能相关的工作,也接触了不少模块,说实话要做好性能这一块,真心不容易.为什么这么说?是因为需要接触的知识实在是太多了, Android 是一个整体,牵一发而动全身,不是说只懂一个模块就可以做好在学习的过程中,除了看源码,我还接触到了很多互联网上已有的知识,各位前辈们,将他们的知识和经验倾囊相授,让我少走了很多弯路。我在自己的笔记里面存了很多很优秀的技术文章和技术文档,我花了一个多月的时间将这些文章做了整理并且分享放到网上,让每一个想进入 Android 系统开发和优化这个领域的人,能通过阅读这原创 2021-09-06 21:03:22 · 467 阅读 · 2 评论 -
阿里前技术总监最佳整理:582页Android NDK七大模块学习宝典,开源5天Github已7.3K
前言作为Android工程师,Java和Kotlin是我们经常使用的开发语言。但在涉及到一些需要高性能,或与底层相关,或与安全相关的功能,就不得不使用C/C++来实现,Java语言也提供了相关接口(JNI)来调用native相关的代码。JNI 是指 Java 原生接口。它定义了 Android 从受管理代码(使用 Java 或 Kotlin 编程语言编写)编译的字节码与原生代码(使用 C/C++ 编写)互动的方式。JNI 不依赖于供应商,支持从动态共享库加载代码,虽然有时较为繁琐,但效率尚可以And原创 2021-09-01 21:08:17 · 173 阅读 · 1 评论 -
吹爆系列!阿里巴巴保姆级Android进阶学习指南,干货满满,限时开放下载
这是一份全面详细的《Android学习指南》,如果你是新手,那么下面的内容可以帮助你找到学习的线路;如果你是老手,这篇文章列出的内容也可以帮助你查漏补缺。如果各位有什么其他的建议,欢迎留言交流。先来个思维导图:Android学习指南(2021最新版)1.Jetpack架构组件从入门到精通Android Jetpack - NavigationAndroid Jetpack - Data BindingAndroid Jetpack - ViewModel & LiveDataAnd原创 2021-08-31 20:49:45 · 141 阅读 · 3 评论 -
30+ 岁的二本同事刚入职就把APP性能优化了一遍,最后结果让人瑟瑟发抖。。
2021年过去了一大半,没想到公司来了个新同事,一看是个二本生,还是非科班出身,刚30岁。。。结果没想到人家上来就把现有项目的性能优化了一遍,直接给公司节省了一半的成本,这种“王炸”打法,直接给所有人整懵了。一问情况,才知道这位仁兄也是一路被虐过来的。疫情期间被裁,本以为自己技术还行,看了一段时间面经,复习了基础知识,就开始投大厂简历。阿里最先给他面试机会,结果没能扛过三面,然后是各种大大小小的公司,在实际面试中被碾压得翻不了身。直到一个半月后,一个offer都没拿到。面试时觉得自己吃透两套架构,够原创 2021-08-30 20:35:17 · 197 阅读 · 6 评论 -
「卷无人道」,现在Android面试“质量”都这么高吗,还怎么让人好好去面试大厂
有个朋友去阿里面试,面试总共花费了 20 天左右,包含了 4 轮电话面试、1 轮笔试、1 轮主管视频面试、1 轮 hr 视频面试。据他所说,70% 的人都会栽在第一轮面试,要不是他面试之前做足了准备,估计都坚持不到接下来的面试。其实,第一轮的电话面试除了一些常规的自我介绍外,问的都是一些基础的专业知识,主要目的就是筛选掉一些基础比较弱的人,以免浪费大家的的时间。问的问题主要涉及几个方面:内存泄漏&内存溢出1.什么是OOM & 什么是内存泄漏以及原因2.Thread是如何造成内存原创 2021-08-27 16:37:47 · 157 阅读 · 6 评论 -
2021全新Android大厂面试真题解析(含网络、Java、Android、数据结构与算法、开源框架)
前言最近在准备面试,然后复习下之前写过的项目,书籍,笔记,文章。一看很多知识点都没有印象,最可拍的是连自己为了防止忘记写的文章竟然都感觉不是自己写的。有些开始怀疑人生了。好了,废话少说,现在是求职高峰期,我把我收集到的资料分享给大家。也祝到家有个好工作。(本文资料 适合1-3年)从基础到架构进阶,包含了BATJ等一线互联网公司面试被问到的题目,涵盖了初中高级安卓技术点。文章中所列主要为大纲部分,详细内容可以在文末自行获取哈!如果你熟练掌握本文中列出的知识点,相信将会大大增加你通过前两轮技术面试的几原创 2021-08-25 16:46:39 · 228 阅读 · 2 评论 -
字节跳动技术总监封神之作《Android Framework高级开发笔记》,完整版开放下载
为什么要学Android Framework?想要成为一名优秀的Android开发,就需要有一个完备的知识体系,Android Framework 的知识是很重要的一个组成部分,他广泛的应用在各个领域。像掉帧监控,函数插装,慢函数检测,ANR 监控,启动监控,都需要对 Framework 有比较深入的了解。只有这样才能知道怎么去做监控,利用什么机制去监控,函数插桩插到哪里,反射调用该反射哪个类哪个方法哪个属性……另外 Framework 作为 Android 框架层,为 App 提供了众多 API 去原创 2021-08-17 22:27:33 · 1170 阅读 · 5 评论 -
现在搞Android开发不学习Kotlin会怎样?
作为一个 Java 开发者,你一定对面向对象编程的核心概念烂熟于胸。Java 是纯面向对象语言,如果你想在 Java 项目中写一个函数,那么你首先得先定义一个类,然后再把函数写到这个类里面。一次两次这么处理还好,但如果在一个中大型项目里,你总是这样为了 OOP 而去 OOP,不仅会造成代码冗余、不易阅读,而且还容易出错。另外,相信你也遇到过空指针异常问题,也会为此问题的不可避免而感到苦恼。而 Kotlin 语言,可以很好地帮你解决上述问题。Kotlin 语言本身还扩展了非常多的常用操作,像文本读写、文件原创 2021-08-13 14:56:47 · 396 阅读 · 4 评论 -
Android Jetpack 架构组件zui佳实践之“网抑云”APP
背景近几年,Android 相关的新技术层出不穷。往往这个技术还没学完,下一个新技术又出来了。很多人都是一脸黑人问号?不少开发者甚至开始哀嚎:“求求你们别再创造新技术了,我们学不动了!”在这些新技术里,Jetpack 是最具代表性的,它们的知识体系复杂,学起来难度大,学完后实战的坑也多。jetpack一定要学吗?学,肯定要学,Android Jetpack于谷歌而言,这是他们重新整理和统一安卓生态环境决心的体现,Android Jetpack所展现的内容,也是谷歌想拓展和维护的方向。JetPack里原创 2021-08-11 22:13:06 · 174 阅读 · 2 评论 -
为什么大部分的Android开发成为不了架构师
小团队一般 10 人左右,其中常常是技术最牛的人做架构师(或TL)。所以,架构师在广大码农中的占比大概平均不到 10%。而架构师也可以分为初级、中级、高级三档,江湖上真正高水平的软件架构师就更少了。所以,大部分(超过九成的)开发干上许多年,还是做不了架构师,这是什么原因造成的呢?1:码农分为真的能写代码的,以及自认为能写代码的。2:真的能写代码的码农又分为自认为写的不错的,以及真的还不错的。3:真的能写不错代码的码农又分为会钻研会不断优化的,以及安于现状的。4:会钻研的码农又分为喜欢广度了解新技术原创 2021-08-10 21:42:57 · 101 阅读 · 1 评论 -
大厂为什么在招聘安卓架构师时,为啥都需要丰富的性能优化经验?
前言众所周知,移动开发已经来到了后半场,为了能够在众多开发者中脱颖而出,我们需要对某一个领域有深入地研究与心得,对于Android开发者来说,目前,有几个好的细分领域值得我们去建立自己的技术壁垒,如下所示:1、性能优化专家:具备深度性能优化与体系化APM建设的能力。2、架构师:具有丰富的应用架构设计经验与心得,对Android Framework层与热门三方库的实现原理与架构设计了如指掌。3、音视频/图像处理专家:毫无疑问,掌握NDK,深入音视频与图像处理领域能让我们在未来几年大放异彩。4、大前端原创 2021-08-09 21:46:26 · 93 阅读 · 2 评论