自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [译] 如何用 Android vitals 解决应用程序的质量问题

为了提供一个客观的质量衡量标准,使你可以轻松发现应用需要解决哪些稳定性问题,我们在 Play Console 中添加了一个名为 Android vitals 的新模块。这个模块可以告诉你应用程序的性能和稳定性问题,而不需要在代码中添加仪器或库。当你的应用程序运行在众多设备上的时候,Android vitals 会收集关于应用程序性能的匿名指标。即使在使用硬件实验室进行测试时,它也会以其他方式难以获得的规模为你提供信息。Android vitals 可以提醒你的问题包括崩溃、应用程序无响应(ANR)和渲染时间

2024-05-17 02:35:34 667

原创 V4L2结构体手册(1)

enum v4l2_frmsizetypes {/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */V4L2_FRMSIZE_TYPE_DISCRETE = 1,V4L2_FRMSIZE_TYPE_CONTINUOUS = 2,V4L2_FRMSIZE_TYPE_STEPWISE = 3,};/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR IN

2024-05-17 00:53:01 699

原创 Redis精通系列——LRU算法详述(Least Recently Used - 最近最少使用)

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

2024-05-16 21:56:43 300

原创 LRUCache源码分析

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

2024-05-16 17:22:30 294

原创 Kotlin协程它不香吗?(1)

对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!最后,我再重复一次,如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

2024-05-16 16:05:04 255

原创 JetPack组件--LifeCycle生命周期组件详解

//doSomething}}class MainActivity : AppCompatActivity() {private val mPresenter = MyPresenter()override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)mPresenter.start()}override fun onDes

2024-05-16 14:49:38 280

原创 HNUCM-OJ春季学期《算法分析与设计》练习13题解

我一直以来都有整理练习大厂面试题的习惯,有随时跳出舒服圈的准备,也许求职者已经很满意现在的工作,薪酬,觉得习惯而且安逸。不过如果公司突然倒闭,或者部门被裁减,还能找到这样或者更好的工作吗?我建议各位,多刷刷面试题,知道最新的技术,每三个月可以去面试一两家公司,因为你已经有不错的工作了,所以可以带着轻松的心态去面试,同时也可以增加面试的经验。我可以将最近整理的一线互联网公司面试真题+解析分享给大家,大概花了三个月的时间整理2246页,帮助大家学习进步。

2024-05-16 13:10:14 297

原创 GitHub标星9K的Google官方MVP+Rxjava项目详解,靠这份资料我从6K变成了40K

首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶序列化Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)代码框架结构优化(数据结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升级丶Hook技术丶IOC架构设计。

2024-05-16 11:24:58 295

原创 Okhttp链接池的使用

找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。多练。(视频优势是互动感强,容易集中注意力)你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。以上就是总结的关于在面试的一些总结,希望对大家能有些帮助,除了这些面试中需要注意的问题,当然最重要的就是刷题了,这里放上我之前整理的一份超全的面试专题PDF还有。

2024-05-16 01:57:31 609

原创 Leetcode面T17(11-20)树

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2021BAT 面试真题解析,我把大厂面试中常被问到的技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。Android 基础知识点Java 基础知识点Android 源码相关分析常见的一些原理性问题。

2024-05-16 00:15:33 878

原创 Kotlin-基础---数据类型

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

2024-05-15 23:06:28 825

原创 HMS Core 5(1)

这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

2024-05-15 18:59:16 256

原创 GitHub标星9K的Google官方MVP+Rxjava项目详解,靠这份资料我从6K变成了40K

首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶序列化Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)代码框架结构优化(数据结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升级丶Hook技术丶IOC架构设计。

2024-05-15 17:30:08 315

原创 Unity技术-GameFramework文档系列(五)- 创建实体(1)

点击跳转=>GameFramework文档系列(三)- 日志管理和UI点击跳转=>GameFramework文档系列(四)- 事件订阅点击跳转=>保姆式Cocos合成大西瓜案例点击跳转=>养不起真猫,就用代码吸猫-Unity粒子实现画猫咪点击跳转=>Unity粒子特效系列-龙卷风预制体做好了,unitypackage包直接用!点击跳转=>姐姐喊我解锁套娃新技能:FairyGUI在Unity中实现List嵌套List/立体画廊等,玩出花儿来点击跳转=>Unity新手必备5款宝藏插件–价值上千元白嫖最新版点击跳

2024-05-15 14:18:44 226

原创 Retrofit+Rxjava网络层的优雅封装(1)

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

2024-05-15 12:43:00 234

原创 LiveData的工作原理

public class UserProfileViewModel extends ViewModel {private String userId;private MutableLiveData user;private UserRepository userRepo;public void init(String userId) {this.userId = userId;userRepo = new UserRepository();user = userRepo.getUser(user

2024-05-15 05:56:36 739

原创 Kotlin协程

Element之间可以通过+号进行组合Element有如下四类,共同组成了CoroutineContextJob:协程的唯一标识,用来控制协程的生命周期(new、active、completing、completed、cancelling、cancelled)CoroutineDispatcher:指定协程运行的线程(IO、Default、Main、Unconfined)CoroutineName: 指定协程的名称,默认为coroutineCoroutineExceptionHandler: 指定协程的异常

2024-05-15 04:39:46 950

原创 Jetpack学习之 ViewModel

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。欢迎大家一起交流讨论啊~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!这个 Factory 如果未指定, 一般就是,来看看它的create()如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。[外链图片转存中…(img-CRL9RSJY-1715714654024)]

2024-05-15 03:24:26 654

原创 HMS Core 5(1)

这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

2024-05-15 01:46:38 346

原创 GitHub标星9K的Google官方MVP+Rxjava项目详解,靠这份资料我从6K变成了40K

首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶序列化Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)代码框架结构优化(数据结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升级丶Hook技术丶IOC架构设计。

2024-05-15 00:17:02 629

原创 Zxing图片识别 从相册选二维码图片解析总结

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的Android开发中高级必知必会核心笔记,共计2968页PDF、58w字,囊括Android开发648个知识点,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

2024-05-14 22:13:00 880

原创 TextField suffixIcon点击时TextField 选中弹出键盘<Flutter Bug篇>

首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶序列化Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)代码框架结构优化(数据结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升级丶Hook技术丶IOC架构设计。

2024-05-14 20:32:11 602

原创 Realm数据库使用教程(三):查询数据(1)

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

2024-05-14 18:52:38 815

原创 OkHttp初探2:如何使用OkHttp进行下载封装?带进度条?Kotlin+Flow版本。

println(“nowTime[nowTime [nowTime[{Thread.currentThread().name}] ${msg.joinToString(” “)}”)}/***/internal typealias ProgressBlock = (state: DownloadState) -> Unit/***/sealed class DownloadState {/***/object UnStart : DownloadState()/***/class Progress(var

2024-05-14 17:35:31 582

原创 lambda表达式(Shawn)

}public static void main(String[] args){String msgA = “Hello”;String msgB = “World”;String msgC = “Java”;//由于这里level参数为1,所以不会把msgA + msgB +msgC打印出来log(1, msgA + msgB + msgC);}}这段代码存在问题:无论级别是否满足要求,作为 log 方法的第二个参数,三个字符串一定会首先被拼接并传入方 法内,然后才会进行级别判断。如果级

2024-05-14 15:50:55 403

原创 Kotlin 源码里成吨的 noinline 和 crossinline 是干嘛的?(1)

inline让变量内联用的是 const;而除了变量,Kotlin 还增加了对函数进行内联的支持。在 Kotlin 里,你给一个函数加上 inline 关键字,这个函数就会被以内联的方式进行编译。但!虽然同为内联,inline 关键字的作用和目的跟 const 是完全不同的。编译时常量为什么这么多限制?因为只有符合这些限制,编译器和 JVM 才有能力做优化,从而这种内联操作也才有意义。稍微复杂一点,就优化不动了。什么叫「稍微复杂」我不知道,但是函数内联这种操作,绝对算得上是相当复杂了,绝对优化不动的。其实真

2024-05-14 14:42:15 529

原创 HTML5 CSS3 精美案例 : 实现VCD包装盒个性幻灯片(1)

那我们该怎么做才能做到年薪60万+呢,对于程序员来说,只有不断学习,不断提升自己的实力。我之前有篇文章提到过,感兴趣的可以看看,到底要学习哪些知识才能达到年薪60万+。通过职友集数据可以查看,以北京 Android 相关岗位为例,其中 【20k-30k】 薪酬的 Android 工程师,占到了整体从业者的 30.8%!北京 Android 工程师「工资收入水平 」今天重点内容是怎么去学,怎么提高自己的技术。1.合理安排时间2.找对好的系统的学习资料3.有老师带,可以随时解决问题。

2024-05-14 03:34:33 690

原创 Git各指令的本质,真是通俗易懂啊(1)

分支也是Git中相当重要的一个概念,当一个分支指向一个节点时,当前节点的内容即是该分支的内容,它的概念和HEAD非常接近同样也可以视为指针或引用,不同的是分支可以存在多个,而HEAD只有一个。通常会根据功能或版本建立不同的分支那分支有什么用呢?

2024-05-14 01:58:30 632

原创 [译] 充分利用多摄像头 API

题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料。【Android思维脑图(技能树)】

2024-05-13 21:01:51 669

原创 Unity技术-GameFramework文档系列(五)- 创建实体(2)

👉前提👉实践过程经历前面文章创建UI的过程,这一步操作起来就顺心多了,坑也少了。同样需要创建预制体(物体模型)预制体上需要挂载继承了【EntityLogic】的脚本走走走,预制体出来我们就要开始创建了,代码先获取实体组件再创建实体这和UI基本如出一辙昂,再回忆回忆和UI都是预制体,传递的参数都是预制体路径和分组。等等-分组,差点忘记了需要在框架的基础组件中添加分组小空在学习木头前辈的教程中留意到:这种带有路径的预制体加载方式,实际打包后会不会出现调用不到的问题。给出的答案是:不管是打不打包,框架都会处理

2024-05-13 19:18:47 571

原创 Retrofit+Rxjava网络层的优雅封装

现在随着短视频,抖音,快手的流行NDK模块开发也显得越发重要,需要这块人才的企业也越来越多,随之学习这块的人也变多了,音视频的开发,往往是比较难的,而这个比较难的技术就是NDK里面的技术。音视频/高清大图片/人工智能/直播/抖音等等这年与用户最紧密,与我们生活最相关的技术一直都在寻找最终的技术落地平台,以前是windows系统,而现在则是移动系统了,移动系统中又是以Android占比绝大部分为前提,所以AndroidNDK技术已经是我们必备技能了。

2024-05-13 17:43:59 822

原创 OkHttp3源码详解(四)缓存策略

OkHttp的缓存工作都是在CacheInterceptor中完成的,Cache部分有如下几个关键类:Cache:Cache管理器,其内部包含一个DiskLruCache将cache写入文件系统:To measure cache effectiveness, this class tracks three statistics:requests issued since this cache was created.requests that required network use.whose respo

2024-05-13 15:17:32 534

原创 Lambda 表达式详解

【Android开发核心知识点笔记】【Android思维脑图(技能树)】【Android核心高级技术PDF文档,BAT大厂面试真题解析】【Android高级架构视频学习资源】《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!【Android开发核心知识点笔记】[外链图片转存中…(img-u0lbGIAe-1715578490962)]【Android思维脑图(技能树)】[外链图片转存中…(img-eKGICYyb-1715578490968)]

2024-05-13 13:35:03 862

原创 Kotlin 宣布一个超级特性

是的子集,比会得到更多优化,现阶段和一样,只能在构造函数中传入一个参数,参数需要用val声明,将来可以在构造函数中添加多个参数,但是每个参数都需要用val声明,官方说明如下图所示。将来如果支持添加多个参数,那么它的使用范围会越来越广的。升级到 Kotlin 1.5 之后,将被弃用,如下图所示,编译器将会给出警告。根据提示目前唯一需要改变的是语法inline替换为value, 然后在添加@JvmInline注解即可。@JvmInline编译后的效果和是一样的,因此后面的案例将会使用。

2024-05-13 12:27:12 867

原创 HNUCM-OJ春季学期《算法分析与设计》练习13题解

我一直以来都有整理练习大厂面试题的习惯,有随时跳出舒服圈的准备,也许求职者已经很满意现在的工作,薪酬,觉得习惯而且安逸。不过如果公司突然倒闭,或者部门被裁减,还能找到这样或者更好的工作吗?我建议各位,多刷刷面试题,知道最新的技术,每三个月可以去面试一两家公司,因为你已经有不错的工作了,所以可以带着轻松的心态去面试,同时也可以增加面试的经验。我可以将最近整理的一线互联网公司面试真题+解析分享给大家,大概花了三个月的时间整理2246页,帮助大家学习进步。

2024-05-13 09:50:27 565

原创 Gitter---高颜值GitHub小程序客户端诞生记

当然,目前功能和体验上可能有些不大完善,也希望大家能提供一些宝贵的意见,Gitter走向完美的路上希望有你!最后,希望Gitter小程序能对你有所帮助!有些大家需要的资料知识我都分享在群里了,还有些录制成视频供大家免费下载,希望可以帮助在这个行业发展的朋友,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,所以我把这些资料,分享出来。相信对于已经工作和遇到技术瓶颈或者写博客码友,在这份资料中一定都有你需要的内容。

2024-05-13 08:04:54 665

原创 [译] 充分利用多摄像头 API

题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料。【Android思维脑图(技能树)】

2024-05-13 04:06:53 599

原创 Unity技术-GameFramework文档系列(五)- 创建实体(2)

👉前提👉实践过程经历前面文章创建UI的过程,这一步操作起来就顺心多了,坑也少了。同样需要创建预制体(物体模型)预制体上需要挂载继承了【EntityLogic】的脚本走走走,预制体出来我们就要开始创建了,代码先获取实体组件再创建实体这和UI基本如出一辙昂,再回忆回忆和UI都是预制体,传递的参数都是预制体路径和分组。等等-分组,差点忘记了需要在框架的基础组件中添加分组小空在学习木头前辈的教程中留意到:这种带有路径的预制体加载方式,实际打包后会不会出现调用不到的问题。给出的答案是:不管是打不打包,框架都会处理

2024-05-13 02:23:20 629

原创 retrofit-helper-简洁的封装retrofit,优雅的取消请求

initCause((Throwable) body);}//FastPrintWriter#print(String str)this.msg = msg != null ? msg : “null”;this.body = body;}/**@Overridepublic String toString() {return “HttpError {msg=”#####2.5 ExecutorCallAdapterFactory返回Call2请求适配器处理请求接口方法返回为Call2的请求

2024-05-13 00:48:27 861

原创 OkHttp流程分析

(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总)面试成功其实是必然的,因为我做足了充分的准备工作,包括刷题啊,看一些Android核心的知识点,看一些面试的博客吸取大家面试的一些经验,

2024-05-12 15:39:22 826

空空如也

空空如也

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

TA关注的人

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