自学Android开发5年,面试字节跳动凉凉?来看看我的面试经历吧

2017-2020字节跳动Android面试历年真题解析_04cba.pdf 2017-2020字节跳动Android面试历年真题解析,让你全民复查知识点,顺利进入大厂。内容包括计算机基础面试题、数据结构和算法面试题、java面试题、Android面试题、其他扩展面试题、非技术面试题 立即下载

一面问的 Java 和 Android 基础

  1. Jvm虚拟机
  2. messageQueue会不会阻塞ui线程
  3. 对象锁和类锁
  4. 之字形打印树
  5. 还有其他的记不清了,主要是我对二面印象太深刻了。

二面问的 Flutter 和 Dart

  1. dart是值传递还是引用传递
  2. Widget和element和RenderObject之间的关系
  3. widget的root节点
  4. mixin extends implement之间的关系(除了extends其他的没怎么用过。。)
  5. jvm内存模型(感觉这个是面试官可怜我,看我什么都不会才问的=。=)
  6. Future和microtask执行顺序
  7. dart中…的用法(基本没用过。。)
  8. await for(没用过。。)

说实话,第一个、第三个、第六个我准备的话应该能答出来的,但是一个多月没碰Flutter了,忘了都差不多。。。等下把二面的答案写出来,希望能帮助后来人。此外GitHub和博客维护好很重要,像我这种demo随手写,随手删的人直接GG。。

1. dart是值传递还是引用传递首先给个结论,dart是引用传递。先来看段代码

main(){
  Test a = new Test(5);
  print("a的初始值为:${a.value}");
  setValue(a);
  print("修改后a的值为: ${a.value}");
}

class Test{
  int value = 1;
  Test(int newValue){
    this.value = newValue;
  }
}

setValue(Test s){
  print("修改value为100");
  s.value = 100;
}

输出结果为:

a的初始值为:5
修改value为100
修改后a的值为:100

从这里可以看出是引用传递,如果只是复制了一个对象的话,main函数中的a值是不会发生变化的。

有些人可能会以以下代码反驳我:

main(){
  int s = 6;
  setValue(s);
  print(s); //输出6,而不是7
}

class Test{
  int value = 1;
  Test(int newValue){
    this.value = newValue;
  }
}

setValue(int s){
  s += 1;
}

你看,这输出的不是6吗,在dart中一切皆为对象,如果是引用传递,那为什么是6啊。

答案是这样的,在 setValue()方法中,参数s实际上和我们初始化int s = 6的s不是一个对象,只是他们现在指的是同一块内存区域,然后在setValue()中调用s += 1的时候,这块内存区域的对象执行+1操作,然后在堆(类比java)中产生了一个新的对象,s再指向这个对象。所以s参数只是把main函数中的s的内存地址复制过去了,就比如java中的:

public class Test {
    public static void main(String[] args) {
        Test a = new Test();
        Test b = a;    
        b = new Test();
    }
}

我们只要记住一点,参数是把内存地址传过去了,如果对这个内存地址上的对象修改,那么其他位置的引用该内存地址的变量值也会修改。千万要记住dart中一切都是对象。

偷偷说一句,我觉得面试官这个地方面试的不好,这种细节问题,如果不是遇到什么bug,业务忙的时候是没时间注意这个的,面试官可以把这两种情况展示下,然后问面试者原因是什么。。然后我就能回答出来了。。哭唧唧。。

2. Widget 和 element 和 RenderObject 之间的关系

首先我详细说下当时的情景,面试官问我 Widget 和 Element 之间是不是一对多的关系,如果是增加一个 Widget 之后,这个关系又是什么。

这部分还是没有很好地答案,现在只是一个猜想,如果添加了一个widget,Element树遍历后面所有的Element看类型是否发生改变,有的话再重建RenderObject。

Element和Widget之间应该还是一对一的关系,因为每个Widget的context都是独一无二的。等想好了再写上去吧。

3. widget树的root节点

还是没能理解面试官的意思。。有能够理解的同学请评论告知我一下。现在理解了,面试官的意思应该指是runApp()方法中的那个的Widget。我当时也想说的不过忘记这个方法名是啥了。。。

4. mixin extends implement之间的关系

这部分可以参考掘金的小德大佬的文章,高产似那啥。。Flutter Dart mixins 探究Flutter Dart语法(1):extends 、 implements 、 with的用法与区别

6. Future和microtask执行顺序同样参考小德的文章深入了解Flutter的isolate(1) ---- 事件循环(event loop)及代码运行顺序深入了解Flutter的isolate(2) — 创建自己的isolate深入了解Flutter的isolate(3) — Flutter的thread model(线程模型)深入了解Flutter的isolate(4) — 使用Compute写isolates

7. dart中…是什么级联符号 … 可以让你连续操作相同的对象,不单可以连续地调用函数,还可以连续地访问方法,这样做可以避免创建临时变量,从而写出更流畅的代码,流式编程更符合现代编程习惯和编程风格:

main(){
  Tree tree = new Tree(1);
  tree..test1 = 1..test2 =5;
  print(tree.test1);
  print(tree.test2);
}

class Tree{
  int value;
  int test1 = 2;
  int test2 = 3;
  Tree(int a){
    this.value = a;
  }
}

8. await for使用先来一段官方文档

await-forAs every Dart programmer knows, the for-in loop plays well with iterables. Similarly, the await-for loop is designed to play well with streams.Given a stream, one can loop over its values:Every time an element is added to the stream, the loop body is run. After each iteration, the function enclosing the loop suspends until the next element is available or the stream is done. Just like await expressions, await-for loops can only appear inside asynchronous functions.

大概意思就是 await for是不断获取stream流中的数据,然后执行循环体中的操作。

Stream<String> stream = new Stream<String>.fromIterable(['不开心', '面试', '没', '过']);
main() async{
  print('上午被开水烫了脚');
  await for(String s in stream){
    print(s);
  }
  print('晚上还没吃饭');
}

输出为

上午被开水烫了脚
不开心
面试
没
过
晚上还没吃饭

await for 和 listen的作用很相似,都是获取流中数据然后输出,但是正如await for中的await所示,如果stream没有传递完成,就会一直阻塞在这个位置,上面没吃饭是最后输出的,下面给个listen的实例,一看就懂。

Stream<String> stream = new Stream<String>.fromIterable(['不开心', '面试', '没', '过']);
main(){
  print('上午被开水烫了脚');
  stream.listen((s) { print(s); });
  print('晚上还没吃饭');
}

输出为

上午被开水烫了脚
晚上还没吃饭
不开心
面试
没
过

所以 await for一般用在直到stream什么时候完成,并且必须等待传递完成之后才能使用,不然就会一直阻塞,造成类似于Android ANR的问题。

总结

其实面试官还是很 nice 的,第一次见到活的大佬。。大佬对 flutter 和 dart 的研究真的很深入,远不是我这种只会调 api 的人可以比拟的。

主要还是我一个半月没使用过flutter了,然后之前问其他大佬要不要准备Flutter,大佬们说不用,以前看的很多东西都忘的差不多了。

哎,还是自己准备不充分,或者开始大佬问我的时候直接回答忘得差不多了,应该就能过了吧。

文章不易,如果大家喜欢这篇文章,或者对你有帮助希望大家多多点赞转发关注哦。文章会持续更新的。

从零开始之驱动发开、linux驱动(七、字符驱动之led最终版) 我们上一接用的gpiolib非常杂乱,使用了两种 1.各硬件厂商实现的,如s3c_gpio_cfgpin(S5PV210_GPJ0(5), S3C_GPIO_SFN(1)) 2.系统公共的,如gpio_set_value(S5PV210_GPJ0(4),val) 其实公共的也是对各硬件厂商的封装,用那个都可以,个人建议用系统公共的,应为这样换芯片厂商,不影响任何使用。   2.错误处理基... 阅读详情

相关推荐

ROS2节点通信实战:用C++手写一个‘智能小车’控制模型(附完整代码)

本文详细介绍了如何使用ROS2和C++构建一个智能小车控制模型,涵盖运动控制节点、电池管理服务、参数动态配置和Rviz可视化等核心功能。通过实战项目演示ROS2节点通信机制,帮助开发者快速掌握机器人开发的关键技术,并提供了完整的代码实现和系统集成方案。

weixin_30607029的博客 261

字节跳动的Android岗面试难吗?应该如何应对?

字节安卓岗面试的难度 感觉不难,但没 offer。面了两个组(共见了 5 个面试官),一个组至今没有消息,另一个组的 HR 说:感觉你想做业务 leader,但我们最需要的是前端技术 leader,而且业务 leader 已经招满了。我觉得这是双方期望没有聊好吧,也可能只是 HR 找个理由婉拒。我几个月前从 Facebook 裸辞后,就有中国猎头拉我去面字节跳动,说他们要招个 leader 建立前端的基础架构团队,解决前端散落在各个产品导致技术不可复用的问题。一开始猎头说这个职位回报给张一鸣,我心想你就瞎扯

BUGgogogo的博客 632

内网开发必备:银河麒麟V10离线安装全流程(含镜像挂载+yum源配置)

本文详细介绍了在内网隔离环境下,银河麒麟V10操作系统的离线安装与部署全流程。核心内容包括官方镜像的获取与校验、使用mount命令进行镜像挂载的详细步骤与问题排查,以及构建稳定、可维护的本地Yum软件仓库的完整方法论。通过实战案例演示了如何基于本地源部署LNMP环境,并提供了高级配置技巧与常见故障排除指南,旨在帮助运维人员系统性地构建高可用的内网软件供应链。

weixin_29268637的博客 560

2022年Android开发真的要凉了吗?

很多做Android开发的朋友们都知道,从15年开始,就不断的有人在唱衰Android,在知乎上,经常可以看到劝退和唱衰言论。我甚至都想跟着附和“没前景!没未来!快别搞Android了!Android凉了!”从15年末开始,就已经隐约有听到风声传来“Android市场饱和”到17年愈演愈烈“Android凉了!”18年、19年则更多的是“互联网寒冬,Android凉凉,全部转行”之类的言论那么为什么这么多人都在“劝退”Android开发呢?首先我要排除那些不为人知的利益关系,比方说某些不可告人的PY交...

bugyinyin的博客 2306

ur3手眼标定+realsenseL515

知乎 csdn

AI_future的博客 978

JMeter压测Dubbo接口的完整落地方案(适配3.x)

Dubbo作为主流Java微服务RPC框架,其接口压测长期面临协议私有、注册发现复杂、序列化耦合度高等技术门槛。理解Dubbo基于TCP长连接、泛化调用与SPI扩展机制的核心原理,是实现稳定压测的前提;技术价值在于绕过HTTP网关直击服务核心链路,保障大促等关键场景的性能可信度;典型应用场景包括电商订单链路压测、风控/库存等内部Dubbo服务SLA验证,以及CI/CD中性能左移实践。本文聚焦Dubbo 3.x版本,提供零第三方插件、可复用、避坑的JMeter Java Sampler落地路径。

weixin_33700809的博客 549

Android2017-2018最新面试题(3-5年经验个人面试经历)

2017-2018最新Android面试题 版权声明:本文为博主原创文章,未经博主允许不得转载。 原文链接:http://blog.youkuaiyun.com/huangqili1314/article/details/72792682 大家好,在跟大家讲述自己的面试经历,以及遇到的面试题前,先说说几句题外话。 接触Android已经3年,在工作中遇到疑难问题总是在网上(csdn大牛博客,stack...

启立豆 28万+

SVM-支持向量机学习(1):线性可分SVM的基本型

1. foreword先看的是李航老师的书第7章,比较传统按照以下三节展开: 线性可分SVM 线性SVM 非线性SVM SMO算法 李航老师讲东西向来不拖泥带水,但本节也几乎用了40页的篇幅,足见涉及内容之多。7月底硬着头皮啃了下来,边看边在笔记上摘抄标注,花了2天时间对SVM有了基本认识。一个月过去了,如今重新整理为博客,再看轻松许多,并不断对比西瓜书的内容,启望达到融会贯通。西瓜书此节明显节奏轻

鸟恋旧林的博客 8680

字节跳动Android面试凉凉

我以为是HR一面,结果是技术,没想到啊,没想到! 1、描述Activity的生命周期。 2、描述一个Activity启动另外一个Activity的生命周期 3、Activity标签可以配置什么 4、IntentFilter里面的标签可以干嘛 5、Service怎么启动   了解IntentService吗? 6、几大控件有 7、存储数据的方式有 8、Intent可以干嘛 9、S...

weixin_34072458的博客 2831

基于MATLAB的脑功能网络工具箱:BCT与FCLab

脑功能网络分析是神经科学领域的一个重要研究方向,它通过分析大脑中神经元之间的连接模式和信息传递方式,揭示脑网络的结构和功能。在这个领域,MATLAB是一个广泛使用的工具,提供了丰富的函数和工具箱来进行脑功能网络的分析和可视化。这些工具箱提供了丰富的函数和工具,使得脑功能网络的计算和分析变得更加简单和高效。在上述示例代码中,我们首先导入BCT工具箱,并构建一个邻接矩阵来表示脑网络的连接关系。在上述示例代码中,我们首先导入FCLab工具箱,并导入脑功能数据。函数对数据进行预处理,如去除噪声、降采样等操作。

web_bug407的博客 2611

sim800c插卡后指示灯还是一秒一闪无法接收发送短信,如何解决?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1167

字节跳动Android实习生视频面试(一面)

过程 由于本人希望出国读研,有一段企业实习的经历的话会比较好申请,刚好看到字节跳动招实习生,遂投个简历试试水。8月15号投的简历,投完5分钟HR就打过来电话(夸一下字节跳动办事效率),确认了一下基本信息无误后,就去审核简历了。又过了5分钟左右,打电话约面试,时间定在了8月20号。接下来几天就在疯狂地准备。。。 面试题目(顺序不一定准确) 自我介绍 Java基础(构造方法之类的) Synchron...

某潜水用户的博客 3048

题解:洛谷 P14357 [CSP-J 2025] 拼数

等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。小 R 想知道,在他所有能拼成的正整数中,最大的是多少。你需要帮助小 R 求出他能拼成的正整数的最大值。小 X 给了小 R 一个字符串。输出一行一个正整数,表示小 R 能拼成的正整数的最大值。中的任意多个数字,按任意顺序拼成一个正整数。,表示小 X 给小 R 的字符串。#普及-# #其他排序#洛谷:[P14357。

团爸讲算法 1394

自学Android开发5年,面试字节跳动凉凉?来看看我的面试经历吧(1)

1.搭建知识框架可不是说你整理好要学习的知识顺序,然后看一遍理解了能复制粘贴就够了,大多都是需要你自己读懂源码和原理,能自己手写出来的。2.学习的时候你一定要多看多练几遍,把知识才吃透,还要记笔记,这些很重要!最后你达到什么水平取决你消化了多少知识3.最终你的知识框架应该是一个完善的,兼顾广度和深度的技术体系。然后经过多次项目实战积累经验,你才能达到高级架构师的层次。你只需要按照在这个大的框架去填充自己,年薪40W一定不是终点,技术无止境。

2401_84004024的博客 1101

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android工程师凉凉,自学Android开发5年,面试字节跳动凉凉?来看看我的面试经历吧...

一面问的 Java 和 Android 基础Jvm虚拟机messageQueue会不会阻塞ui线程对象锁和类锁之字形打印树还有其他的记不清了,主要是我对二面印象太深刻了。二面问的 Flutter 和 Dartdart是值传递还是引用传递Widget和element和RenderObject之间的关系widget的root节点mixin extends implement之间的关系(除了extend...

weixin_39538687的博客 122

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

android系统开发面试,安卓软件android

改变人生,没有什么捷径可言,这条路需要自己亲自去走一走,只有深入思考,不断反思总结,保持学习的热情,一步一步构建自己完整的知识体系,才是最终的制胜之道,也是程序员应该承担的使命。你不踏出去一步,永远不知道自己潜力有多大,千万别被这个社会套在我们身上的枷锁给捆住了,30岁我不怕,35岁我一样不怕,去做自己想做的事,为自己拼一把吧!后面逛Boss直聘时有猿辅导要简历,给了过去后也面试了一波,也是白纸写代码,三轮技术和一轮HR,比较稳妥的过了。后面,第三天时,二面面试官加了我的微信,开始约二面时间。

2401_84415708的博客 798

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

字节跳动六面Android开发岗凉凉,还有更惨的吗?(2),分享一次失败的经历 面试

其实客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。(以下体系的复习资料是我从各路大佬收集整理好的)《Android开发七大模块核心知识笔记》《960全网最全Android开发笔记》《379页Android开发面试宝典》历时半年,我们整理了这份市面上最全面的安卓面试题解析大全包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。

2401_84103844的博客 1147

字节跳动Android一面凉凉,竟以为一面是HR面---,面试阿里p7有多难

这部分算是必备技能。我个人倒是倾向于弱化基础知识的考查,毕竟每个候选人的背景不同,应该更看重聪明程度、学习能力、沟通理解力等,基础知识只能证明他不是一个优秀的工程师,却无法证明他是一个优秀的工程师。

2401_83977580的博客 997

2024华为Android面试真题,看完必懂

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

2401_83641533的博客 972

2024字节跳动,腾讯,网易云,京东等Android高级工程师面试经历!

给大家分享一份移动架构大纲,包含了移动架构师需要掌握的所有的技术体系,大家可以对比一下自己不足或者欠缺的地方有方向的去学习提升;网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)一个人可以走的很快,但一群人才能走的更远!

2401_84102759的博客 594

字节跳动Android一面凉凉,竟以为一面是HR面,2024年最新哔哩哔哩面试题目

这部分算是必备技能。我个人倒是倾向于弱化基础知识的考查,毕竟每个候选人的背景不同,应该更看重聪明程度、学习能力、沟通理解力等,基础知识只能证明他不是一个优秀的工程师,却无法证明他是一个优秀的工程师。

2401_83977580的博客 602

分享一次面试经历,记一次字节跳动Android社招面试,GitHub标星50k的Android全栈技术知识

给大家送上我成功跳槽复习中所整理的资料,由于文章篇幅有限,所以只是把题目列出来了本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

2401_84023604的博客 363

安卓databinding,android高级面试题及答案

自我介绍一下,小编13年北京科技大学毕业,曾经在字节跳动待过,也去过vivo、小米等大厂,18年进入华为一直到现在。小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担,能在岗位上再创辉煌,步步高升!!。

2401_84903100的博客 795

2024字节跳动,腾讯,网易云,京东等Android高级工程师面试经历(1)

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录。

2401_84023787的博客 847

准备Android面试?字节跳动Android三面凉凉,已开源

反思 昨晚去北京大望路阿里面试, 产生了严重的挫败感, 羞愧难当. 比不得从大学就有目标有理想, 一直在为目标努力学习技术的同学, 在大学唯一能拿得出手的就是参加了电子设计大赛, 学了点嵌入式的知识. 毕业后开始做android, 说得好听点叫做项目, 实际上就是搬代码, 真正记到脑子里的有多少呢? 从百度Google搬到自己的代码里, 同一个问题要遇到好几次才能记住, 很多问题搬完了还不知道为什么这么做. ReactNative都做完一个项目了, 生命周期都记不清楚, 这样的工作有什么意义呢? 进步太慢,

m0_56130999的博客 261

hashmap扩容过程,字节跳动Android三面凉凉,面试心得体会

前言 刚从阿里面试回来,想和大家分享一些我的面试经验,以及面试题目。 这篇文章将会更加聚焦在面试前需要看哪些资料,一些面试技巧以及一些这次的面试考题。 3-5年的Android工程师最容易遇到的4个瓶颈是什么? 1.原理认知浅 工作内容多是简单UI界面开发和第三方SDK整合,对原理层和底层开发了解不深 2.技术视野窄 长期在小型软件公司,外包公司工作,技术视野被限制的太厉害 3.薪资提升难 初中级Android岗位薪资上升空间有限,基本上你想拿15k以上,不会点源码层的东西是根本拿不到的 4.学习资源少 入

m0_56259515的博客 91
上一篇: Android性能优化:阿里、腾讯等关于内存泄露的知识都在这里了!
下一篇: 手把手教学OpenCV-android-sdk 配置以及使用,学不会算我输
Android725
博客等级 码龄7年 1708粉丝 350原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值