自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 2019,一位Android中级程序员成功跳槽的面经

在历时半个月,面试失败了9次以后,我拿到了满意的Offer,薪资同比增长50%不止。因为在一千多公司没有太大的开发压力,让我有更多的时间去学习Android的方方面面。在今年四月初,我花了一个周末Review简历,下定决心准备出去找工作。关于“互联网寒冬”这个现象,笔者一直是不愿意去相信的,因为他给我造成了焦虑,虽然它确确实实存在。现在回顾这次跳槽的经历,笔者想说的是:其实寒冬没有大家想象的...

2019-05-30 16:40:44 975

原创 手写消息总线LiveDataBus

Android四大组件和线程间通信方式有很多,比如Handler管道、广播、接口回调、rxBus、EventBus等,但是这些方式都存在一些瑕疵,具体的优缺点如下:那么有没有一种通信方式可以集以上所有框架的优点于一身,并且避免以上缺点呢?答案就是作者今天要分享的livedatabus,livedatabus是基于原生的livedata实现的通信框架,它拥有以下的优点:首先我们来看一下Liv...

2019-05-29 17:06:21 390

原创 Android Jetpack - 使用 Navigation 管理页面跳转

在今年的 IO 大会上,发布了一套叫 Android Jetpack 的程序库。Android Jetpack 里的组件大部分我们都接触过了,其中也有一些全新的组件,其中一个就是 Navigation。简介Navigation 是用来管理 APP 里页面跳转的。起初,我以为它是用来代替 startActivity 的,但其实并不是,大家往下看就知道它的作用了。另外,iOS 的同学可能会有似曾...

2019-05-29 15:58:02 2823

原创 非常全面的Android 中高级工程师面试复习大纲

概述都说金三银四青铜五,这几个月份是程序员最好的跳槽时间,笔者四月初也换了工作。找工作之前看了很多面试题,复习资料,但是发现纯看面试题是不行的,因为靠背的东西是记不牢的,需要知识成体系才可以,所以笔者整理了一份复习大纲,基本涵盖了 Android 中高级工程师面试所必须知识点,希望可以通过此文帮助一些想换工作的朋友更好的复习,准备面试。本文只罗列出大纲内容,至于每个模块的详细内容,网上很多资料...

2019-05-28 17:20:08 444

原创 OpenCv + ffmpeg + rtmp 实现摄像头采集数据直播功能

采用OpenCv获取图像数据,通过ffmpeg推流给rtmp服务器OpenCV获取的图像数据为BGR格式,需要转换成YUV格式,再将其编码为h264格式,通过ffmpeg推流ps:ffmpeg版本是2.8头文件extern "C"{#include <libavcodec/avcodec.h>#include <libavdevice/avdevice.h>...

2019-05-28 16:40:13 3568

原创 2019最新Flutter 面试知识点集锦(二)

紧接上文2019最新Flutter 面试知识点集锦(一)PlatformViewFlutter 中通过 PlatformView 可以嵌套原生 View 到 Flutter UI 中,这里面其实是使用了 Presentation + VirtualDisplay + Surface 等实现的,大致原理就是:使用了类似副屏显示的技术,VirtualDisplay 类代表一个虚拟显示器,调用...

2019-05-27 16:33:56 643

原创 2019最新Flutter 面试知识点集锦(一)

谷歌大会之后,有不少人咨询了我 Flutter 相关的问题,其中有不少是和面试相关的,如今一些招聘上也开始罗列 Flutter 相关要求,最后想了想还是写一期总结吧,也算是 Flutter 的阶段复习。系统完整的学习是必须需要的,这里只能帮你总结一些知识点,更多的还请查阅 Dart/Flutter 官网本篇主要是知识点总结,如有疑问可点击各文章链接了解详情,或者查阅我专栏Dart 部分...

2019-05-27 16:18:20 4459 1

原创 Android 使用RecyclerView实现轮播图

一、需求之前一篇博客使用ViewPager实现轮播图Android ViewPager实现循环轮播图,但是ViewPager有个天生的缺陷是View无法重用,此外ViewPager的滑动过程会频繁requestLayout,尽管可以通过addViewInLayout和removeViewInLayout配合PagerAdapter 的startUpdate和finishUpdate可以减少重绘,...

2019-05-24 17:41:05 3034 2

原创 Android ViewPager实现循环轮播图

一、原理ViewPager是Android中使用频率相对较高的view组件,同时对滑动过程中的事件进行了处理,因此非常适合轮播图。关于轮播图的实现,有很多方法,使用HorizontalView或者RecylerView也可以实现,但是需要处理fling操作,这里我们用ViewPager避免这些工作。网上有很多关于ViewPager轮播的轮播实现,其原理大多数给PagerAdapter的getC...

2019-05-24 16:33:40 455

原创 内容引争议,阿里应届生年薪25W?

马云的996福报言论的热度还没褪去,近日就有阿里员工开始秀工资了应届生年终25w+,这个数字应该远超很多工作两三年的程序员了,估计引起了大部分人不适。。近两年就一直有老员工薪资被应届生倒挂的消息不断相传,不止BAT,其他互联网公司也都纷纷开始这种迎合趋势,搞得很多老程序员非常气愤,同时也让很多人产生了跳槽的想法。看评论区就知道大家啥想法了…之前就看知乎上有人说,阿里给应届生的薪资很高,...

2019-05-24 15:55:21 710

原创 多年心路历程见证从技术小白到收获BAT等大厂研发offer,分享一些经验和感悟

写在最前写过很多篇面试总结,这篇文章应该是最后一篇总结,当然也是最完整,最详细的一篇总结。算是人生中一段宝贵的经历,不仅是我研究生生涯交出的一份答卷,也是未来职业生涯的开端。仅以此文,献给自己,以及各位在求职路上的,或者是已经经历过校招的朋友们。不忘初心,方得始终。前言在下本是跨专业渣考研的985渣硕一枚,经历研究生两年的学习积累,有幸于2015秋季招聘中拿到几个公司的研发岗offer,...

2019-05-23 18:47:12 567

原创 Android DNS更新与DNS-Prefetch

一、什么是DNSDNS(Domain Name System,域名系统),dns用于将域名解析解析为ip地址。例如:给你www.baidu.com的主机名,你给我查出对应的ip地址:163.177.151.109。一些主机名还会有别名,如www.baidu.com就有别名www.a.shifen.com,甚至不止一个别名,或一个别名有2个ip地址。在linux机子上,运行nslookup...

2019-05-22 17:01:46 425

原创 面试的时候突然遇到答不上的问题怎么办?

前言今天给大家讲讲面试过程当中最长遇到的窘境,也是最能体现一个候选人临场应变能力的地方,那就是当我们在面试的过程当中,遇到的问题回答不上来的时候,该怎么办。误区在开始讲解之前,先纠正一个误区,那就是对于一场面试而言,最后的结果好坏并不完全取决于面试当中的问题是否都回答了上来。能不能录取和是否回答出所有问题并没有直接的联系。换句话说,我自己经历过的,无论是面试也好,还是面别人也罢,问题没答...

2019-05-22 16:25:05 8665

原创 八年Android开发心路历程

没有稳定的工作,只有稳定的能力。又到了万物复苏的季节,在程序猿这个行当里,作为 Android 开发出生的,在经历了八年的脱发生涯后,有了越来越多的想法和感触趋势随着各类移动跨平台的兴起,在 ReactNative 、Flutter 、Weex 等框架的加持下,Android 开发的能力已不再局限于 Android 领域,而各大厂商近些年也针对跨平台的不足进行逐步完善:ReactNa...

2019-05-22 15:32:11 284

原创 flutter 中的From表单

通用方法做过前端的都应该提交过表单,以文本输入为例flutter中提供了通用的TextField组件TextField( decoration: InputDecoration(labelText: '产品名称'), onChanged: (String value) { setState(() { _name = value; ...

2019-05-21 19:49:23 973

原创 20道25K+Android工程师面试必问面试题

很多朋友都或多或少经历过很多面试,而有的人拿到了自己心仪的offer,有的人却被拒之门外。那么今天整理了一份面试经常会问到的题目,希望可以帮助到更多的人。本文讲解:我们为什么要选择离职面试必问面试题如何选择心仪的公司一.我们为何选择离职工资跟不上消费上班找不到归宿感和成绩感,上班感觉和坐牢一样在公司没有发展空间(之前我有一篇介绍选择公司注重薪资和个人薪资的文章,可以参考从...

2019-05-17 17:48:38 1490

原创 从BAT这种公司平薪跳槽头条,是否值得?

有一个朋友之前就职于阿里,之前交流关于跳槽的问题,具体是这样的:阿里工作3年,拿到了头条的offer.但是非常纠结要不要接的问题。于是几个朋友聚在了一起讨论了这个问题而且最近好多读者也在参加面试,接下来就分享下对于如何选择Offer.从哪些方面看这这个事情的问题的看法一.先谈谈程序员为什么要跳槽1.因为程序员都是“香饽饽”首先,这个市场对优秀人才的需求,总是很高的。我很多优秀的同事,每...

2019-05-17 17:32:39 326

原创 Android插件化之启动Activity(二)

紧接上文Android插件化之启动ActivityHook Instrumentation越过AndroidManifest检测以上内容算是内功部分,接下来就到了学习具体招式的时候了。要启动没有在AndroidManifest.xml中注册的Activity,其核心是就是偷天换日。怎么做呢?通过一个例子说明。假如在插件中有一个未在AndroidManifest.xml注册的Target...

2019-05-16 17:31:24 488

原创 Android插件化之启动Activity

在上一篇文章Android插件化之ClassLoader我们已经可以成功加载apk,但是还没有办法启动插件中的Activity。我们知道,如果要启动一个Activity,那么这个Activity必须在AndroidManifest.xml中注册。因此,如果我们要启动插件中的Activity,那么这个Activity事先必须在宿主的AndroidManifest.xml中预注册。这样一来就会有两个...

2019-05-16 17:23:23 1021

原创 Android插件化之ClassLoader

ClassLoader是由JVM平台提供的类加载器。它允许程序从网络、硬盘甚至是内存加载Class,这就为Android插件化提供了最基础的技术保障。Android平台对字节码文件作了优化,摒弃了传统JVM需要的.jar文件,而是采用体积更小的.dex文件。因此,Android自定义了一系列ClassLoader以满足对dex加载。本文分为两部分,第一部分介绍Android的ClassLoade...

2019-05-16 17:15:31 611

原创 网易资深架构师谈:随着年龄的增长,Android开发者该何去何从?

" 对于程序员来说,如果哪一天开始他停止了学习,那么他的职业生涯便开始宣告消亡。”高薪的IT行业是众多年轻人的职业梦想,然而,一旦身入其中却发觉没有想像中那么美好。被称为IT蓝领的编程员,工作强度大,像个编码“机器”;技术更新换代快,饭碗不稳定。随着年龄的增长,尤其是工作2-5年的Android程序员该何去何从?就得看自己的眼光、胆识和机遇了!工作2-5年的Android程序员该何去何从?...

2019-05-16 17:05:37 353

原创 通过EventBus框架GET大牛的框架思维

EventBus的作用Android中存在各种通信场景,如Activity之间的跳转,Activity与Fragment以及其他组件之间的交互,以及在某个耗时操作(如请求网络)之后的callback回调等,互相之之间往往需要持有对方的引用,每个场景的写法也有差异,导致耦合性较高且不便维护。以Activity和Fragment的通信为例,官方做法是实现一个接口,然后持有对方的引用,再强行转成接口类...

2019-05-15 19:00:53 229

原创 2019 阿里、头条、腾讯、美团 Android 面试经验分享

1. 前言本文从面试准备、面试技巧等方面分享一些个人经验。希望能给大家带来帮助。2.面试情况阿里(蚂蚁金服):拿到 offer头条(抖音、火山):拿到 offer美团(美团平台):拿到 offer腾讯(腾讯音乐):二面挂3. 准备这部分将结合我自己的经验,为大家准备面试提供一个参考。3.1 尽早开始准备首先,尽早开始准备。足够的时间是充足的准备的基本保证。不...

2019-05-15 17:20:43 916 2

原创 2019全面汇总Android面试题——进阶篇【包你满意】

整理了一些Android方面的基础面试题,这俩天自己也是一直在整理之前学习过程中所记录的笔记。工作这么久,有的时候感觉身边的人都不断的再进步,唯独只有自己还在原地踏步。就是想着是不是该换个方式去走接下来的路。面试时技术经理可能会问我们一些工作中遇到的Android方面的问题,谈谈我们所做的项目,和在项目中所扮演的角色。下面整理下自己之前记录的一些知识点:1、什么是嵌入式实时操作系统, An...

2019-05-14 17:35:20 232

原创 Android 开发面经,历时两月斩获BAT+头条四个公司 Offer

拿了 BAT+头条 四个 offer;同时也在帮公司招聘,筛选简历并面试。对技术面试这回事有一些体会,在此分享。坦白说,我对我个人在这次求职中的表现并不十分满意,面试前没有做足够充分的准备——数次被面试官出的题目“虐”、应对面试的压力时没能做到沉着冷静、在面试中未能完整地把自己的积累与优势表现出来……所以本篇文章并不是一个“成功者”的经验分享,而是一个普通人经历过各种面试后的一个总结与反思。一...

2019-05-14 17:28:30 503 1

原创 Flutter 完整开发实战详解(一、Dart 语言和 Flutter 基础)

前言在如今的 Fultter 大潮下,本系列是让你看完会安心的文章。本系列将完整讲述:如何快速从0开发一个完整的 Flutter APP,配套高完成度 Flutter 开源项目 GSYGithubAppFlutter。同时也会提供一些 Flutter 的开发细节技巧,并针对开发过程中可能遇到的问题进行填坑。系列文章分为三篇,第一部分是基础篇(针对 Dart 语言和 Flutter 基础),第二...

2019-05-14 17:15:32 288

原创 最新百度、头条、小米、360、网易、等公司 Android 社招面试心得

总人很多人去寻找名叫“面经”一样的东西,其实就是一个个具体的题目,然后临阵磨枪,去“背”答案,如果一直是这样的话,我相信你的能力不会有任何提高,即使工作三年五年也达不到高级工程师的水平,事实证明这类“程序员”占大多数。而且我认为一个“面经”真正有价值的内容是面试前你是如何学习的,面试中面对不会的题目你是如何回答的,以及面试后的你的感受和总结,而不是冷冰冰的罗列题目。一.想要分享的内容开篇我...

2019-05-13 17:57:36 685

原创 Android开发三年月薪12k,一年后斩获腾讯T3,谈谈我的心路历程!

新技术层出不穷,去年kotlin到如今Flutter,技术迭代,你是否会变得固步自封?那么看本篇文章帮你解决问题,让你知道怎么样学习,学习那些技术点才能不被时代的迭代快速淘汰!首先,先说一下百度丶腾讯丶阿里技术岗位的一般面试流程1.笔试(如果内推,一般可以免去笔试)2.电话面试(一轮,可能有电面可能没有)3.现场面试(3-4轮)第1轮:基础技术面试,面试内容包括:简历提问,计算机基础...

2019-05-13 17:37:10 2316

原创 AndroidStudio项目打包成jar

前言:在eclipse中我们知道如何将一个项目导出为jar包,现在普遍AndroidStuido开发,这里一步一步详加介绍AS项目打包成jar,jar和arr的使用一.作用:为了供其它项目使用,将项目打包成jar一.作用:为了供其它项目使用,将项目打包成jar二.步骤(AndroidStudio):1.像平常一个样新建一个项目(步骤省略)2.(在步骤1的基础上)点击File–>Ne...

2019-05-12 20:06:03 244

原创 面试完 BAT等数十家公司,我想谈谈关于 Android 面试那些事

一. 本文目的笔者将在本文中就Android开发工程师这一岗位,结合自己最近跳槽的经历,谈一谈自己对于面试的一些看法,希望能帮助到正在跳槽中的你们,也给自己的金三跳槽之旅划个圆满的分号。注:本文适合工作三年以内的职场菜鸟观看,尤其针对想从小公司到大公司(更准确的说,是从普通公司到优质公司)的情况,大神或骨灰玩家可以关掉了。二. 背景介绍2.1 个人经历抛开背景谈面试和offer是容易误导...

2019-05-11 17:02:14 712

原创 Android 录音功能直接拿去用

前言最近项目中需要用到录音的功能,借鉴了外国一位哥们的项目https://github.com/dkim0419/SoundRecorder,搞定需求之后,花了些时间封装成一个录音的工具包,分享给大家,需要源码的 点击这里先贴个效果图给大家看一下,看看这个录音包的功能一、实现录音的 Service这个类可以说是这个包的核心了,如果理解了这个 Service,录音这一块基本就没什么问题了。...

2019-05-11 16:20:09 7545 7

原创 多家一线互联网公司Android面试题:小米+百度+360+美团

前言又快到了一年一度的毕业季节跳槽找工作的时候了,相信很多认在这一段时间面试了很多公司确迟迟得不到心仪公司的offer接下来,我会整理一些一线互联网公司的面试题,希望能在面试的时候帮助到大家【文末有彩蛋】1.抽象类接口区别-360①默认的方法实现抽象类可以有默认的方法实现完全是抽象的。接口根本不存在方法的实现②实现子类使用extends关键字来继承抽象类。如果子类不是抽象类的话,它...

2019-05-11 16:12:57 353

原创 Android 热修复原理(主要谈代码修复)

Android开发中,热修复技术被越来越多的开发者使用,市面上也出现很多成熟的开源框架。但对大部分开发者来说,热修复依然是一个既熟悉又陌生的词。仅仅知道热修复的作用,会使用框架,那样意义并不大。我们还要知道热修复的原理,这样不管框架如何变化,只要基本原理不变,我们都可以快速掌握它,或者自己动手写一个适合项目的热修复框架。热修复介绍1.开发流程当项目出现紧急bug时,传统的开发流程是发布新版...

2019-05-11 15:43:43 421

原创 写给有 Android 开发经验的你们

前言不是要你给出每一个问题的标准答案,而是要你给出这个问题的你的、自己的答案。一 关于简历面试首先要提到的就是简历,简历这个东西真的是一个很深奥的事情,为什么深奥,其实是对像和我这样的人深奥:学历不好、工作经历不好。当然,这和目前技术研发人才需求的大环境也有关系,而且上述两点会越来越影响简历的通过性。说一个真实的事情大家就有概念了,这是一个前同事私下告诉我的,他比我先一年多离开公司,然后到了...

2019-05-09 16:45:40 173

原创 2019最新百度、头条、小米、360、网易、等公司 Android 社招面试题目

一.拼多多"备受争议"的一家电商公司,发展很快,不过这不是我想说的重点,我想说的是,拼多多的两位技术面试官很和蔼(当然hr同学也很好了~),提出的问题很新颖,就拿Handler来说吧,大部分的公司都会直接问,说说你对消息机制Handler的理解,拼多多的提问大概意思是:1.让你设计一个线程池,如果调用者在传入的Runnable任务时,在run方法直接使用了Handler,会发生什么?2.1...

2019-05-09 16:37:12 334

原创 Android 一线大厂面试总结

最近因为团队项目被边缘化,新项目接连流产,已经可以上市的项目突然宣布不做了,又加上外包岗的离职,作为正岗也有被裁员的风险,于是出去看了一下机会。面试了阿里巴巴,百度,头条,趣头条,小米,爱奇艺,映客,快手等一线的大厂,最终拿到了满意的offer。下面将面经分享出来。面试前的准备下面我将从以下几个方面来分享一下面试前的准备。一.给自己定位首先要给自己定位,自己现在是一个什么阶段,是初级岗,中...

2019-05-09 16:28:02 1061

原创 Android 开发面试 “67” 问

如何才能通过一线互联网公司面试?相信这是很多人的疑惑,希望看完本篇文章能给大家一些启发。下面的截图就是我第一次的面试题记录,当天面试完晚上回到家写下的几个问题。现在从上面的几个问题,发展成了6K star的项目,以下问题是我整理的最新的一线公司面试记录,文章最后有我多年面试的经验分享给大家。基础问题相关(问题答案在下文):1、接口的意义-百度2、抽象类的意义-百度3、内部类的作用-...

2019-05-08 21:08:42 223

原创 2019年百度Android面试题-公共技术点之 View 绘制流程

View 绘制机制1. View 树的绘图流程【文末有彩蛋】当 Activity 接收到焦点的时候,它会被请求绘制布局,该请求由 Android framework 处理.绘制是从根节点开始,对布局树进行 measure 和 draw。整个 View 树的绘图流程在ViewRoot.java类的performTraversals()函数展开,该函数所做 的工作可简单概况为是否需要重新计算视图大...

2019-05-08 18:06:46 203

原创 Android进阶:十四、熟悉Android打包编译的流程

Android进阶系列性文章最后一篇,之后我会更新其他系列性文章,欢迎关注从事Android高级研发,怎能不知道Android的打包流程呢?今天就为大家讲解Android打包的流程:Android 构建系统编译应用资源和源代码,然后将它们打包成可测试、部署、签署和分发的 APK。一般使用 Android Studio开发的时候使用Gradle构建工具包来自动执行和管理构建流程,同时也可...

2019-05-07 16:40:59 1117 1

原创 Android进阶:十三、自定义类加载器加载加密类文件

之前面试的时候有许多面试官问类加载器相关的问题,所以这是一个很重要的知识点。而且对于高级Android研发来讲,懂得更多类加载相关的东西,对开发也会有很多的帮助,比如热更新,类加密等。其实笔者对类加密比较感兴趣,就稍稍调研了一下。类加密的其实是为了防止APP被反编译,防止反编译的方法有很多种,比如混淆,加固等。自己对类文件进行加密,并自定义类加载器也是一种办法:首先我们的代码打包编译之后会变成...

2019-05-07 16:32:20 568 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除