自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试官一套RxJava组合拳下来,我被问得怀疑人生

订阅是从下游的Observer向上游的Observable发送订阅,然后在订阅的过程中,给下游的Observer发送订阅监听,并且给上游的被观察者添加订阅。

2024-05-03 15:56:33 674

原创 面试官--说一下你做过哪些性能优化-项目中遇见的卡顿问题怎么解决的?

有做过。比如重复绘制,还有大图长图有过优化。那具体说一说最后也是结合真实场景具体说一个。其实性能优化点都是息息相关的,比如卡顿会涉及内存、显示,启动也会涉及 APK dex 的影响。所以说性能优化不仅仅是单方面的优化,一定要掌握最基本的优化方案,才能更加深入探讨性能原理问题。在这里也建立大家多看流行开源框架源码,比如 Glide (内存方面), OKhttp (网络连接方面) 优化的真的很极致。到这里性能优化方面的知识也就说完了,下来一定好好去消化。

2024-05-03 15:54:08 634 1

原创 身为一个程序员Context都没弄明白,你还怎么做Android开发?

由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化学习资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!

2024-05-03 08:35:06 596

原创 踩坑!Android Jetpack组件间库之Navigation

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。上面分享的百度、腾讯、网易、字节跳动、阿里等公司2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。【Android思维脑图(技能树)】知识不体系?

2024-05-03 08:34:36 633

原创 网安入门须知:注释的危害居然这么大?——注释漏洞导致的信息泄露_jsp页面中包含html注释泄露敏感信息缺陷(1)

信息泄露是指【网站无意间向用户泄露敏感信息】,一些安全意识淡薄的管理员或技术人员无法区分普通信息和敏感信息,从而将敏感信息当做普通数据展示在前端源码中或者明文传输。写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。

2024-05-03 04:41:41 574

原创 编译Android使用的libx264并使用进行H

注意:这里编译是在Linux和MacOS上执行,在Windows配置实在是比较麻烦,真心不如使用虚拟机安装一个ubuntu的Linux系统。

2024-05-03 04:40:40 317

原创 清晰易懂的RxJava入门实践(1)

用于创建Observable的操作符Create— 通过调用观察者的方法从头创建一个Observablecreate操作符是所有创建型操作符的“根”,也就是说其他创建型操作符最后都是通过create操作符来创建Observable的From— 将其它的对象或数据结构转换为ObservableJust— 将对象或者对象集合转换为一个会发射这些对象的ObservableDefer— 在观察者订阅之前不创建这个Observable,为每一个观察者创建一个新的Observable。

2024-05-02 23:42:54 325 1

原创 深度认识单例模式;在Android源码中的应用

在学单例模式之前,我想大家都会自己问自己**:“单例模式存在的意义是什么?我们为什么要用单例模式?”**众所周知,在古代封建社会,一个国家都只有一个国王或者叫皇帝。我们在这个国家的任何一个地方,只要提起国王,大家都知道他是谁。因为国王是唯一的。其实这个就是单例模式的核心思想:保证对象的唯一性。确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式是一种对象创建型模式。1、实例唯一性2、自行创建3、全局访问。

2024-05-02 23:42:23 509

原创 是时候下载Android-9-0系统源码了(1)

AOSP(Android Open Source Project)是Google开放的Android 开源项目,中文官网为:https://source.android.google.cn/。AOSP通俗来讲就是一个Android系统源码项目,通过它可以定制 Android 操作系统,国内手机厂商都是在此基础上开发的定制系统。因为墙的缘故,如果无法连接谷歌服务器获取AOSP源码,可以从 清华大学镜像站或者 中科大镜像。本篇文章以清华大学镜像站为例。

2024-05-02 20:28:01 705

原创 是刁难?还是装B?字节面试每轮必问的算法题到底意义何在?(2)

企业作为招人的一方,都是希望求职者是有备而来,愿意经历面试洗礼的人。出算法题面试,是一种公开的标准化流程;可以用最小的总误差,来找到统计意义上最适合的一群人——工作能力符合标准,对公司的兴趣大、个人的心理素质强。通过算法考核,可以把那些将来会大大增加沟通成本的人筛掉——这对一个企业的健康成长是很必要的。而且比起啥都不问,就约来可先聊上一个小时企业愿景,再问一堆从简历就能判断的职业经历价值的公司来说,在面试的时候出算法题,也是尊重面试人员,节省双方时间和效率的一种做法。

2024-05-02 20:27:00 457

原创 微信小程序项目实例——狼人杀(1)

狼人杀是一款多人参与的,通过语言描述推动、较量口才和分析判断能力的策略类桌面游戏。主要角色有:狼人 、预言家 、平民 、女巫 、猎人 、白痴 、守卫 、骑士等。在进入游戏界面之前,玩家需要抽取自己对应的角色牌。常驻角色有狼人、村民、预言家、女巫、猎人。当游戏人数达到11人时将出现丘比特。不同人数会分配不同的角色数量。玩家人数适于4-18人参与。设置游戏人数和选择对应角色。首页是选择游戏人数的页面。之后才是跳转到游戏的界面。同时还有众多的玩家形象。

2024-05-02 16:27:03 365

原创 微信小程序项目实例——打卡时钟(1)

首页由计时器、任务输入框和两个计时按钮组成。用户在设置界面可以更改工作时长和休息时长。这是一款简单实用的小时钟工具。所有的时钟记录都会被保存下来。分为工作和休息两种状态。用户可以设置相应的时间。

2024-05-02 16:25:23 129

原创 字节跳动8年老Android面试官谈;Context都没弄明白凭什么拿高薪?(1)

它是一个抽象类,它的执行被Android系统所提供。当我们出去找工作,或者准备找工作的时候,我们一定要想,我面试的目标是什么,我自己的技术栈有哪些,近期能掌握的有哪些,我的哪些短板 ,列出来,有计划的去完成,别看前两天掘金一些大佬在驳来驳去 ,他们的观点是他们的,不要因为他们的观点,膨胀了自己,影响自己的学习节奏。基础很大程度决定你自己技术层次的厚度,你再熟练框架也好,也会比你便宜的,性价比高的替代,很现实的问题但也要有危机意识,当我们年级大了,有哪些亮点,与比我们经历更旺盛的年轻小工程师,竞争。

2024-05-02 06:25:36 641

原创 字节跳动1面Too simple2面怀疑人生,宅家修炼“65天”终获,含泪拿下华为,小米等7份年薪45w

有任何问题,欢迎广大网友一起来交流,分享高阶Android学习视频资料和面试资料包~偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊!网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化学习资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2024-05-02 06:25:05 635

原创 字节跳动,阿里又迎来了一大波裁员,快35岁的我该何去何从经验分享(阅读量10000+)

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!上面分享的字节跳动公司2021年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。【Android高级架构视频学习资源】Android部分精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!

2024-05-02 06:24:00 514

原创 字节跳动 Service Mesh 数据面编译优化实践

下面以一个例子解释 Speculative Devirtualization 的原理,假设我们编写了一个 Foo 的接口以及一个 FooImpl 的具体实现,如下所示:接着,在其他模块使用了 Foo 接口,如下:经过编译后,bar 函数的机器指令伪代码大致如下:call *addr上述伪代码将传入参数 foo 的 do_something 函数的实际地址进行加载,接着对该地址执行一个 call 指令,即动态多态分发的基本原理。

2024-05-02 06:23:30 859

原创 关于RecyclerView的Adapter的notifyItemInserted()的一些分析(1)

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于Flutter的学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的。

2024-05-01 21:07:19 802

原创 关于OPPO R11上面运行项目出现ClassNotFoundException问题的原因及解决方案记录(1)

不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!被人面试过,也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!作者2013年java转到Android开发,在小厂待过,也去过华为,OPPO等大厂待过,18年四月份进了阿里一直到现在。主要包括阿里,以及字节跳动,腾讯,华为,小米,等一线互联网公司主流架构技术。

2024-05-01 21:05:35 565

原创 关于Ant编译Android中Ant学习研究(1)

以前一直是自己在网上东平西凑的找,找到的东西也是零零散散,很多时候都是看着看着就没了,时间浪费了,问题却还没得到解决,很让人抓狂。后面我就自己整理了一套资料,还别说,真香!资料有条理,有系统,还很全面,我不方便直接放出来,大家可以先看看有没有用得到的地方吧。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化学习资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!

2024-05-01 21:04:31 555

原创 关于android系统的介绍

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于Flutter的学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的。

2024-05-01 21:04:00 591

原创 【收藏】2024年Android跳槽大厂必备宝典(Android高级篇-2)(3)

插件一般是指经过处理的APK,so和dex等文件,插件可以被宿主进行加载,有的插件也可以作为APK独立运行。将一个应用按照插件的方式进行改造的过程就叫作插件化。(一)调整好心态心态是一个人能否成功的关键,如果不调整好自己的心态,是很难静下心来学习的,尤其是现在这么浮躁的社会,大部分的程序员的现状就是三点一线,感觉很累,一些大龄的程序员更多的会感到焦虑,而且随着年龄的增长,这种焦虑感会越来越强烈,那么唯一的解决办法就是调整好自己的心态,要做到自信、年轻、勤奋。

2024-05-01 13:11:41 712

原创 【收藏】2024年Android跳槽大厂必备宝典(Android高级篇-1)

为了加速你的view,对于频繁调用的方法,需要尽量减少不必要的代码。先从onDraw开始,需要特别注意不应该在这里做内存分配的事情,因为它会导致GC,从而导致卡顿。在初始化或者动画间隙期间做分配内存的动作。不要在动画正在执行的时候做内存分配的事情。你还需要尽可能的减少onDraw被调用的次数,大多数时候导致onDraw都是因为调用了invalidate().因此请尽量减少调用invaildate()的次数。

2024-05-01 13:09:56 854

原创 【掌握版本控制:Git 入门与实践指南】远程操作 标签管理

远程仓库的创建:这里不多叙述,GitHub和Gitee都有详细的教程。主要叙述当我们创建完成后远程仓库后该如何将远程的仓库克隆到本地,并且后续可以将更改的代码或者新增的文件等等推送到远程仓库。

2024-05-01 13:08:53 603

原创 【掌握版本控制:Git 入门与实践指南】远程操作 标签管理(2)

**需要注意的是:***使用SSH方式进行克隆要添加公钥到远端库中。创建步骤如下:1、创建SSH Key。在⽤⼾主⽬录下,看看有没有.ssh⽬录,如果有,再看看这个⽬录下有没有id_rsa 和 id_rsa.pub 这两个⽂件,如果已经有了,可直接跳到下⼀步。然后⼀路回⻋,使⽤默认值即可!2、在⽤⼾主⽬录⾥找到 .ssh ⽬录,⾥⾯有 id_rsa 和 id_rsa.pub 两个⽂件,这两个就是SSH Key的秘钥对, i。接着将公钥添加到远端仓库即可!

2024-05-01 13:08:21 805

原创 OpenGL 学习系列--基础的绘制流程(1)

而我们的程序也主要以解决上述三个问题为主,下面以 OpenGL 绘制一个点来讲解。

2024-05-01 05:22:56 893

原创 OpenGL 3D渲染技术:切线空间与法向量变换

w看一些glTF官方的样例模型也能找到这样的字段:},“mode” : 4注意glTF只支持tangent,不支持同时存tangent和bitangent,我猜测原因是bitangent能够通过normal和tangent叉乘得到,所以不需要存,如果能存的话也能少掉这个叉乘的计算,但模型也会变大些。

2024-05-01 05:21:12 708

原创 OpenGL 3D渲染技术:切线空间与法向量变换(1)

虽然说最后得到的这个式子不算太复杂,但是如果在计算光照时,每个片元的都这么算一下,开销还是不少的,毕竟fragment shader的执行次数会比较多,一般来说有2个优化策略:一个将TB提前算好,另一个是将光照计算转换到切线空间进行。

2024-05-01 05:20:41 642

原创 OpenCV高斯差分技术实现图像边缘检测(1)

找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。多练。(视频优势是互动感强,容易集中注意力)你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

2024-05-01 05:19:36 852

原创 Android面试10大知识点总结宝典助你通关!真香_面试安卓工程师一般有哪些知识点

答应大伙的备战金三银四,大厂面试真题来啦!这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。给文章留个小赞,就可以免费领取啦~3000页Android开发者架构师核心知识笔记《960全网最全Android开发笔记》《379页Android开发面试宝典》

2024-04-30 16:30:00 874

原创 Android面试-1-小时,我看出了和月薪-3w-的差距

我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。

2024-04-30 16:27:37 565

原创 Android面试(1)

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

2024-04-30 16:27:06 589

原创 Android面经;大厂必不可少的一关【Flutter】

Flutter中的状态和前端React中的状态概念是一致的。React框架的核心思想是组件化,应用由组件搭建而成,组件最重要的概念就是状态,状态是一个组件的UI数据模型,是组件渲染时的数据依据。Flutter的状态可以分为全局状态和局部状态两种。常用的状态管理有ScopedModel、BLoC、Redux / FishRedux和Provider。详细使用情况和差异可以自行了解。Flutter的绘制流程。

2024-04-30 16:26:36 890

原创 android源码在线!2021年抓住金三银四涨薪好时机,含泪整理面经_21年人才市场的金三银四行情分析

这里我想在主module中调用home组件的sayHello方法来Toast一个人的名字那home里的方法怎样才能被其他模块(包括主模块和其他组件模块)调用首先在commonlib模块里创建一个暴露方法的接口,并定义接口签名,同时继承 Iprovider 接口然后在home模块中继承commonlib里定义的接口,并实现签名方法。这里我们同样使用Arouter的 @Router注解来提供这次服务的路由。最后,我们在其他模块使用 @Autowired 注解就可以调用该方法了。

2024-04-30 08:16:48 554

原创 Android源码剖析之Framwork层消息传递,年薪超过80万!_android framwork知乎

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套**腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节**,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。

2024-04-30 08:15:05 556

原创 Android源码分析:LruCache 缓存机制实现原理

我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了5、6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。不断奔跑,你就知道学习的意义所在!

2024-04-30 08:14:34 868 2

原创 Android源码分析—带你认识不一样的AsyncTask(串并行)

*** 静态串行任务执行器,其内部实现了串行控制,* 循环的取出一个个任务交给上述的并发线程池去执行*///消息类型:发送结果//消息类型:更新进度/**静态Handler,用来发送上述两种通知,采用UI线程的Looper来处理消息* 这就是为什么AsyncTask必须在UI线程调用,因为子线程* 默认没有Looper无法创建下面的Handler,程序会直接Crash*///默认任务执行器,被赋值为串行任务执行器,就是它,AsyncTask变成串行的了。

2024-04-30 08:14:04 792 1

原创 Android开发4年,面试居然只值12K,4年Crud终于悔恨顿悟!

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!上面分享的字节跳动公司2021年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。【Android高级架构视频学习资源】Android部分精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!

2024-04-30 00:55:45 570

原创 Android开发3年,靠着这份PDF面试资料,成功跳槽字节跳动

我这里整理了一份完整的学习思维以及Android开发知识大全PDF。当然实践出真知,即使有了学习线路也要注重实践,学习过的内容只有结合实操才算是真正的掌握。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化学习资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2024-04-30 00:54:42 538 1

原创 Android开发3年,靠着这份PDF面试资料,成功跳槽字节跳动(1)

【Android开发核心知识点笔记】【Android思维脑图(技能树)】【Android核心高级技术PDF文档,BAT大厂面试真题解析】【Android高级架构视频学习资源】网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化学习资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!

2024-04-30 00:54:11 747

原创 Android开发3年,只用3天就拿到大厂offer了?_android冷熊

自我介绍一般主要说一下你在哪就职,目前的工作情况,工作经验有多久,都做过哪些东西,尤其要突出一下你的亮点。这个大家提前准备一下就好。写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于Flutter的学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的。

2024-04-30 00:53:41 524 1

空空如也

空空如也

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

TA关注的人

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