失效链接处理 |
Flutter全套面试题含解析 PDF 下蝲
本站整理下蝲Q?/strong>
链接Q?a target="_blank">https://pan.baidu.com/s/1wtdqPCUUaJ8haDOvz4_r9Q
提取码:(x)1234
相关截图Q?br />
![]() 主要内容Q?/strong>
2019整理Flutter相关面试题全解析
Dart部分
1. Dart 语言的特性?
ProductiveQ生产力高,Dart的语法清晰明了,工具单但功能强大Q?/strong>
FastQ执行速度快,Dart提供提前优化~译Q以在移动设备和W(xu)eb上获得可预测的高性能和快速启动。)
PortableQ易于移植,Dart可编译成ARM和X86代码Q这样DartUd应用E序可以在iOS、Android和其他地方运行)
ApproachableQ容易上手,充分吸收了高U语aҎ(gu),如果你已l知道C++QC语言Q或者JavaQ你可以在短短几天内用Dart来开发)
ReactiveQ响应式~程Q?/strong>
2.Dart的一些重要概念?
在Dart中,一切都是对象,所有的对象都是l承自Object
Dart是强cd语言Q但可以用var?dynamic来声明一个变量,Dart?x)自动推断其数据cd,dynamiccMc#
h有赋初值的变量都会(x)有默认值null
Dart支持层Ҏ(gu)Q如mainҎ(gu)Q可以在Ҏ(gu)内部创徏Ҏ(gu)
Dart支持层变量Q也支持cd量或对象变量
Dart没有public protected private{关键字Q如果某个变量以下划U(_Q开_(d)代表q个变量在库中是U有?/strong>
3.Dart 当中??.」表CZ么意思?
Dart 当中??.」意思是 「联操作符」,Z方便配置而用?/strong>
?.」和?」不同的?调用?.」后q回的相当于?thisQ而?」返回的则是该方法返回的??/strong>
?. Dart 的作用域
Dart 没有 「public」「private」等关键字,默认是公开的,U有变量使用 下划U?_开头?/strong>
?. Dart 是不是单U程模型Q是如何q行的?
Dart 是单U程模型Q如何运行的看这张图Q?/strong>
?/strong>
引用《Flutter中文|》里的话Q?/strong>
Dart 在单U程中是以消息@环机制来q行的,其中包含两个d队列Q一个是“微Q务队?rdquo; microtask queueQ另一个叫?ldquo;事g队列” event queue?/strong>
入口函?main() 执行完后Q消息@环机制便启动了。首先会(x)按照先进先出的顺序逐个执行微Q务队列中的Q务,当所有微d队列执行完后便开始执行事仉列中的Q务,事gd执行完毕后再L行微dQ如此@环往复,生生不息?/strong>
4. Dart 多Q务如何ƈ行的Q?/strong>
刚才也说了Q既?Dart 不存在多U程Q那如何q行多Q务ƈ行?
Dart 当中提供了一?cM于新U程Q但是不׃n内存的独立运行的 worker - isolate?/strong>
那他们是如何交互的Q?/strong>
里引?flutter入门之dart中的q发~程、异步和事g驱动详解 中的一部分{案Q?/strong>
?/strong>
在dart中,一个Isolate对象其实是一个isolate执行环境的引用,一般来说我们都是通过当前的isolateL制其他的isolate完成彼此之间的交互,而当我们惌创徏一个新的Isolate可以使用Isolate.spawnҎ(gu)获取q回的一个新的isolate对象Q两个isolate之间使用SendPort怺发送消息,而isolate中也存在了一个与之对应的ReceivePort接受消息用来处理Q但是我们需要注意的是,ReceivePort和SendPort在每个isolate都有一对,只有同一个isolate中的ReceivePort才能接受到当前类的SendPort发送的消息q且处理?/strong>
5.dart是g递还是引用传递?
dart是g递。我们每ơ调用函敎ͼ传递过ȝ都是对象的内存地址Q而不是这个对象的复制?/strong>
先来看段代码
main(){
Test a = new Test(5);
|