自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 阿里面试官现身说法:刷了一批又一批,有些话不得不对你们说...

序言本文主要介绍校招,疫情原因今年的春招持续的时间拉长了,截止到目前我已经面试超过一百位应届生,批改过超过150份笔试的试卷,因为通过率较低,我也被同事吐槽许多次让我“手下留情”。今天我就想聊一聊,我自己的面试标准。这不是一篇什么攻略文,旨在抛砖引玉,大家一起探讨如何面试更有效率。需要写在前面的是,“平等“和”高效”一直都是互斥的。信息从一个人传递到另一个人那里,由于表达能力和...

2020-04-24 11:02:29 1988

原创 GitHub标星6.7K+!史上最全AndroidDevTools(墙都不扶,我就服你!)

官网地址:www.androiddevtools.cn收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。欢迎大家推荐自己在Android开发过程中用的好用的工具、学习开发教程、用到设计素材,欢迎点赞。目录AndroidDevToolsAndroid ToolsAndroid Studio...

2020-04-30 09:29:15 1708

原创 重磅来袭!阿里P7“青春修炼手册”(全网独家首发!)

阿里P7进阶系列学习视频教程:https://space.bilibili.com/474380680同步更新ing!敬请持续关注!第一章 移动架构师筑基必备Java技能一、深入Java泛型泛型的作用与定义通配符与嵌套泛型上下边界RxJava中泛型的使用分析二、注解深入浅出2.1 自定义注解自定义注解与元注解注解参数与默认值2.2 注解的使用APT,编译时注解处理器插桩,...

2020-04-29 09:48:50 731

原创 从零开始学数据结构和算法(七) huffman 树与 AVL 树

Huffman 树概念树的构造Huffman 源码AVL 树(平衡二叉树)概念平衡因子 二叉树上节点的左子树深度减去右子树深度的值称为平衡因子BF(Balance Factor)最小不平衡树构建 AVL 树...

2020-04-28 16:18:12 201

原创 从零开始学数据结构和算法(六)二叉排序树

简介概念或者是一颗空树,或者是一颗具有如下性质的树:若左子树不为空,那么左子树上面的所有节点的关键字值都比根节点的关键字值小若右子树不为空,那么右子树上面的所有节点的关键字值都比根节点的关键字值大左右子树都为二叉树没有重复值(这一点在实际中可以忽略)主要操作添加节点查询节点删除节点节点是叶子2. ...

2020-04-28 16:02:55 118

原创 从零开始学数据结构和算法 (五) 分治法 (二分查找、快速排序、归并排序)

图解二分查找概念二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。优点查找速度快缺点待查表为有序表算法思路首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个...

2020-04-28 15:32:38 201

原创 从零开始学数据结构和算法(四)哈希表的思想和二叉树入门

哈希表特点数组(顺序表):寻址容易链表:插入与删除容易哈希表:寻址容易,插入删除也容易的数据结构HashTable哈希表(HashTable, 也叫散列表)是根据关键码值(Key value)而直接进行访问的数据结构,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。关键码值(Key value)也可以当成是key的hash值这个映射函数叫做散列函数...

2020-04-28 15:25:27 411

原创 从零开始学数据结构和算法(三)栈与栈的应用栈

栈是限定仅在表尾进行插入和删除操作的线性表允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出的线性表栈的实现顺序方式Stack.java 源码参考 D:\Android\学无止境\随记\SchemaLearningRecords\源码分析\java\Stack 源码分析.m...

2020-04-28 14:56:24 117

原创 从零开始学数据结构和算法(二)线性表的链式存储结构

链表链式存储结构定义线性表的链式存储结构的特点是用一组任意的存储单元的存储线性表的数据元素,这组存储单元是可以连续的,也可以是不连续的。种类结构图单链表应用:MessageQueue插入 enqueueMessage(Message msg,Long when)。删除 next ()。单循环链表双链表LinkedList双向循环...

2020-04-28 14:26:17 104

原创 从零开始学数据结构和算法(一)冒泡与选择排序

介绍排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:关于时间复杂度:平方阶 (O(n2)) 排序 各类简单排序:直接插入、直接选择和冒泡排序。线性对...

2020-04-28 14:03:42 88

原创 深入理解Flutter动画原理

一、概述动画效果对于系统的用户体验非常重要,好的动画能让用户感觉界面更加顺畅,提升用户体验。1.1 动画类型Flutter动画大的分类来说主要分为两大类:补间动画:给定初值与终值,系统自动补齐中间帧的动画物理动画:遵循物理学定律的动画,实现了弹簧、阻尼、重力三种物理效果在应用使用过程中常见动画模式:动画列表或者网格:例如元素的添加或者删除操作;转场动画Shared ele...

2020-04-27 15:10:20 347

原创 面试被问Retrofit,还没看过这篇文章,你敢说你真的全懂了吗?

一、整体思路从使用方法出发,首先是怎么使用,其次是我们使用的功能在内部是如何实现的,实现方案上有什么技巧,有什么范式。全文基本上是对 Retrofit 源码的一个分析与导读,非常建议大家下载 Retrofit 源码之后,跟着本文,过一遍源码。二、基本用例2.1 创建 Retrofit 对象Retrofit retrofit = new Retrofit.Builder(...

2020-04-25 21:28:34 600 1

原创 AndroidX对ViewPager懒加载的影响及解决方案

本文主要是讲解迁移到AndroidX之后,对原本的ViewPager懒加载造成的影响,和如何进行优化。参考的项目来自波澜步惊 的文章 《手把手讲解 ViewPager懒加载》最后的代码修改对比也是来自大神的文章,建议先看一下再过来看本文一、为什么要迁移为AndroidX根据官方说明,AndroidX是对原始Android支持库(android.support.*)进行了重大...

2020-04-24 10:00:54 565

原创 吊打面试官:Android中高级面试题 -- 终局之战

作者:Focusing链接:https://juejin.im/post/5c984e926fb9a070c975a9b41、如何进行单元测试,如何保证App稳定 ?参考回答:要测试Android应用程序,通常会创建以下类型自动单元测试:本地测试:只在本地机器JVM上运行,以最小化执行时间,这种单元测试不依赖于Android框架,或者即使有依赖,也很方便使用...

2020-04-23 10:44:19 292

原创 字节跳动资深面试官亲述:面试应该注意哪些问题?

01面试=做匹配面试官的根本目的在于考察你这个人是否与招聘岗位相匹配,衡量能否胜任工作,我们在面试中要做到的就是让面试官相信我们能够与应聘岗位相匹配。针对一些面试题做了总结:1.请简单进行一下自我介绍首先请报出自己的姓名和身份。可能应试者与面试考官打招呼时,已经将此告诉了对方,而且考官们完全可以从你的报名表、简历等材料中了解这些情况,但仍请你主动提及。这是礼貌的需要,还可以...

2020-04-22 21:29:41 4552 2

原创 Androidx 下 Fragment 懒加载的新实现

前言以前处理 Fragment 的懒加载,我们通常会在 Fragment 中处理 setUserVisibleHint + onHiddenChanged 这两个函数,而在 Androidx 模式下,我们可以使用 FragmentTransaction.setMaxLifecycle() 的方式来处理 Fragment 的懒加载。在本文章中,我会详细介绍不同使用场...

2020-04-22 10:18:52 443

原创 最强整理:微信小程序的前世今生

微信小程序 一、小程序介绍  背景与趋势 小程序技术方案 公众平台注册及配置 开发工具的使用 MINA框架架构剖析 应用程序配置详解 逻辑与界面分离架构 单向数据流 二、UI开发 复杂的页面布局 文字图片等内容的呈现 用户交互表单开发 对话框等交互元素开发 下拉刷新和上拉加载 图形与动画操作 页面之间的跳转过渡 用...

2020-04-21 17:29:26 318

原创 微信小程序之购物车 —— 微信小程序实战商城系列(5)

续上一篇的文章:微信小程序之商品属性分类 —— 微信小程序实战商城系列(4)自从认识某人后,我收获了两个成功。登录成功、付款成功,而且还拥有了自己的一辆车:购物车也发现了自己的不足之处:余额不足。为大家介绍的就是购物车这里演示从商品列表中添加到购物车下面先做商品列表页。如下图:布局分析:首先一个list的主盒子,接着是item盒子,这是必须的。然...

2020-04-21 14:22:52 558

原创 微信小程序之商品属性分类 —— 微信小程序实战商城系列(4)

续上一篇的文章:微信小程序之购物数量加减 —— 微信小程序实战商城系列(3)所提及的购物数量的加减,现在说说商品属性值联动选择。为了让同学们有个直观的了解,到电商网截了一个图片,就是红圈所示的部分现在就为大家介绍这个小组件,在小程序中,该如何去写下图为本项目的图:wxml:<view class="title">商品属性值联动选...

2020-04-21 14:06:53 1137 1

原创 微信小程序之购物数量加减 —— 微信小程序实战商城系列(3)

我们在购买宝贝的时候,购物的数量,经常是我们需要使用的,如下所示:在宝贝详情页里:在购物车里:现在就为大家介绍这个小组件,在小程序中,该如何去写下图为本项目的图:wxml:<!-- 主容器 --><view class="stepper"> <!-- 减号 --> &l...

2020-04-21 13:48:44 473

原创 微信小程序之仿淘宝分类入口 —— 微信小程序实战商城系列(2)

分类入口,已经成为了商城项目必须的布局之一,这里以仿照淘宝的分类入口来做案例下图红框部分,就是本文重点讲解部分,另外本文并没有写点击某个入口跳转页面。如需学习页面跳转的同学,可以参考此文微信小程序的页面跳转和参数传递 —— 微信小程序教程系列(6)页面分析:使用for循环遍历所有项,插入页面,页面中的项使用左浮动,并使用百分比布局,设置20%的宽度每一项。...

2020-04-21 12:41:41 611

原创 微信小程序之侧栏分类 —— 微信小程序实战商城系列(1)

在商场项目中,一般都会有分类页面。分类页面可以给用户快速找到相关的商品,下面以侧栏分类为例,如下图布局分析:<主盒子><左盒子></左盒子><右盒子></右盒子></主盒子>左盒子使用标准流右盒子使用绝对定位(top、right)wxml:<!--主盒子-...

2020-04-21 12:38:15 871

原创 微信小程序之自定义模态弹窗(带动画)实例 —— 微信小程序实战系列(8)...

首先看看官方提供的模态弹窗api如下:示例:这样的模态弹窗,充其量只能做个alert,提示一下信息。但是并不能使用它来处理复杂性的弹窗业务,因此写了Michael从新自定义了一个,采用了仿原生的样式写法wxml:<!--button--><view class="btn" bindtap="powerDra...

2020-04-21 12:26:18 269

原创 微信小程序之自定义抽屉菜单(从下拉出)实例 —— 微信小程序实战系列(7)...

微信提供了动画api,就是下面这个相关链接:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-animation.html#wxcreateanimationobject通过使用这个创建动画的api,可以做出很多特效出来下面介绍一个抽屉菜单的案例实现代码:wxml:<!--button-->...

2020-04-21 12:14:21 973 1

原创 微信小程序之自定义toast实例 —— 微信小程序实战系列(6)

微信提供了一个toast的api wx.showToast()相关连接:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-react.html#wxshowtoastobject本来是比较好的,方便使用,但是这个toast会显示出图标,而且不能去除。假设:我们执行完业务的时候,toast一下,当执行成功的时候,效果还可以接受...

2020-04-21 12:08:50 275

原创 微信小程序之登录页实例 —— 微信小程序实战系列(5)

提供一个登录页的案例,供同学们使用项目效果图:目录结构:图片资源:name.pngkey.pngloginLog.jpglogin.wxml:<view class="container"> <view class="login-icon"> <im...

2020-04-21 12:03:57 436

原创 微信小程序之自定义轮播图实例 —— 微信小程序实战系列(3)

轮播图是大部分应用的一个常用的功能,常用于广告投放、产品展示、活动展示等等。漂亮的轮播图效果可以吸引用户的点击,达到推广产品的作用。废话少说,下面开始动手。业务需求:5个图片轮番播放,可以左右滑动,点击指示点可以切换图片重点说明:由于微信小程序,整个项目编译后的大小不能超过1M查看做轮播图功能的一张图片大小都已经有100+k了那么我们可...

2020-04-21 11:46:38 283

原创 微信小程序之加载更多(分页加载)实例 —— 微信小程序实战系列(2)

loadmore加载更多(分页加载)当用户打开一个页面时,假设后台数据量庞大时,一次性地返回所有数据给客户端,页面的打开速度就会有所下降,而且用户只看上面的内容而不需要看后面的内容时,也浪费用户流量,基于优化的角度来考虑,后台不要一次性返回所有数据,当用户有需要再往下翻的时候,再加载更加数据出来。业务需求:列表滚动到底部时,继续往上拉,加载更多内容必备参数:(1)pag...

2020-04-21 11:36:50 272

原创 微信小程序之顶部导航栏(选项卡)实例 —— 微信小程序实战系列(1)

需求:顶部导航栏效果图:wxml:<!--导航条--><view class="navbar"> <text wx:for="{{navbar}}" data-idx="{{index}}" class="item {{currentTab==index ? 'active' : ''}}" wx:key="unique" b...

2020-04-21 11:23:39 506

原创 马上就要面试了,千万不要让忽视这个关键点...

一般的面试,开场白都是“请你先做一个简单的自我介绍”,很多面试者都觉得简历写得够清楚了,还要说什么?有的就把简历的介绍再说一遍,有的没有准备,断断续续地做了个自我介绍,有的准备过度,唠唠叨叨的讲了好久。面试官通过简历对面试者的基本情况已经有了一定的了解,面试时,把自我介绍作为一个开场白,就是还想通过你的表述了解以下内容:一、你的表述是否与简历上显示的内容一致。二、观察你...

2020-04-20 10:53:07 206

原创 高频Flutter 问题大汇总,总有一款曾困惑你!(含解决问题方法)

如何实现Android平台的wrap_content 和match_parent你可以按照如下方式实现:1、Width = Wrap_content Height=Wrap_content:Wrap( children: <Widget>[your_child])2、Width = Match_parent Height=Match_parent:Con...

2020-04-19 22:09:11 3143

原创 源码角度,分析OkHttp实现WebSocket | 握手/保活/数据处理...

wolfcstech | 作者承香墨影 | 校对https://www.wolfcstech.com/2017/02/23/OkHttp实现分析之Websocket | 原文前段时间写了篇文章,讲解了如何使用 OkHttp 实现 WebSocket 通信,但是只停留在一些使用和理论上,分享出来各项数据还不错。本来想继续写一篇 OkHttp 关于 WebSocke...

2020-04-17 13:32:33 365

原创 阿里P10赵海平跳槽字节跳动:深度解析跳槽从开始到结束完整流程!

00. 前言近期,有消息称,前阿里P10员工赵海平已加入字节跳动,职级为4+。王垠加入华为职级为 21级。事情起因还是从两人乌龙说起,详细经过请看:王垠受邀面试阿里P9,被P10面跪后网上怒发文,惨打325的P10赵海平回应了!前阿里P10赵海平加入字节跳动,职级或为4+2019年底,因为在面试王垠时引起双方不愉快导致网上舆论骂战,据传赵海平的直属领导多隆在绩效...

2020-04-16 14:59:50 2152

原创 字节跳动技术整理,一文秒懂,Flutter 跨平台演进及架构

一、移动跨平台技术演进1. 引言移动互联网发展十余年,伴随着 Android、iOS 等智能手机的不断普及,移动端已逐步取代 PC 端,成为兵家必争之地。正所谓“得移动端者得天下”,移动端已成为互联网领域最大的流量分发入口,一大批互联网公司正是在这大趋势下崛起。2. 为什么需要跨平台技术伴随着移动互联网的高速发展,公司间竞争越来越激烈,如何将好想法快速落地、快速试错,...

2020-04-15 09:42:43 2712 2

原创 一线互联网企业100万年薪面试题大全(含答案解析)

第一章 图片相关面试题目录1、图片库对比2、LRUCache原理3、图片加载原理4、自己去实现图片库,怎么做?5、Glide源码解析6、Glide使用什么缓存?7、Glide内存缓存如何控制大小?答案解析图片相关面试题解析第二章 网络和安全机制相关面试题目录1.网络框架对比和源码分析2.自己去设计网络请求框架,怎么做?3.网络...

2020-04-14 13:51:30 265

原创 深入解析Android-Plugin-Framework

Android-Plugin-Framework是一个Android插件化框架,用于通过动态加载的方式免安装运行插件apk最新版本: 'com.github.limpoxe:Android-Plugin-Framework:0.0.70@aar'此项目主要目标是为了运行非独立插件,而不是任意第三方app。尽管此框架支持独立插件,但目标并不是为了支持任意三方app,不同于...

2020-04-13 14:53:30 435

原创 编程你只想占有我的青春,可我想陪你到老

01. 为什么选择计算机专业?互联网随着智能手机的普及在近些年来野蛮生长,一个个融资千万的创业故事,坊间传说的“别人家年终奖”,各种“大几十万年薪”的虚位以待,都在深深刺痛着其他行业的你我他们。网友也曾对程序员“为什么选择计算机专业?”发起了提问。选择计算机专业最主要的原因莫过于软件开发“钱景客观”!成了大家普遍认同的高赞回答!网友高赞回复:“没有钱啊,肯定要读计算机, 不读...

2020-04-11 14:02:32 124

原创 深入解析ZBLibrary-Android快速开发框架

ZBLibrary-Android快速开发框架MVP 架构,提供一套开发标准(View, Data, Event)以及模板和工具类并规范代码。封装层级少,简单高效兼容性好。OKHttp 网络请求、Glide 图片加载、ZXing 二维码、沉浸状态栏、下载安装、自动缓存以及各种 Base、Demo、UI、Util 直接用。全新的手势,侧滑返回、全局右滑返回都 OUT 啦!用 ...

2020-04-10 09:48:27 3805

原创 八年Android开发,阿里、百度一面惨被吊打!我是否应该转行了?

背景2020年1月5号,朋友辞去了北京一家小创公司Android开发的工作,准备春节过后寻找新的工作的时候,突然遇到了新冠疫情的爆发,至今赋闲在家。昨天接到同行好友的电话,要和我聊聊天。告诉我再找不到工作就考虑转行了!话语间无不感叹安卓有点强弩之末的味道!聊天过程中,朋友也顺带分享了一波阿里饿了么、百度Android岗的面经。我也帮他内推了几...

2020-04-09 11:36:01 168

原创 GitHub标星4.6K+!手写一款基于MVVM模式开发框架,完美实现事件与数据源绑定!...

前言目前,Android流行的MVC、MVP模式的开发框架很多,然而一款基于MVVM模式开发框架却很少。MVVMHabit是以谷歌DataBinding+LiveData+ViewModel框架为基础,整合Okhttp+RxJava+Retrofit+Glide等流行模块,加上各种原生控件自定义的BindingAdapter,让事件与数据源完美绑定的一款容易上瘾的实用性MVVM快...

2020-04-08 12:01:22 623 1

空空如也

空空如也

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

TA关注的人

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