Flutter面试题——面试题整理5
一 面试题汇总
- dart是什么,和flutter有什么关系?
- main()和runApp()函数在flutter的作用分别是什么?有什么关系吗?
- 什么是widget? 在flutter里有几种类型的widget?分别有什么区别?能分别说一下生命周期吗?
- Hot Restart 和 Hot Reload 有什么区别吗?
- 在flutter里streams是什么?有几种streams?有什么场景用到它?
- 简单说一下在flutter里async和await?
- future 和steam有什么不一样?
- 什么是flutter里的key? 有什么用?
- 在什么场景下使用profile mode?
- 怎么做到只在debug mode运行代码?
- 怎么理解Isolate?
- 列举在flutter的状态管理方案?
二 面试题解答(仅供参考)
2.1 dart是什么,和flutter有什么关系?
1 | dart是一种面向对象语言,dart是flutter的程序开发语言。 |
2.2 main()和runApp()函数在flutter的作用分别是什么?有什么关系吗?
1 | main函数是类似于java语言的程序运行入口函数 |
2.3 什么是widget? 在flutter里有几种类型的widget?分别有什么区别?能分别说一下生命周期吗?
1 | widget在flutter里基本是一些UI组件 |
2.4 Hot Restart 和 Hot Reload 有什么区别吗?
1 | Hot Reload比Hot Restart快,Hot Reload会编译我们文件里新加的代码并发送给dart虚拟机, |
2.5 在flutter里streams是什么?有几种streams?有什么场景用到它?
1 | Stream 用来处理连续的异步操作,Stream 是一个抽象类,用于表示一序列异步数据的源。 |
2.6 简单说一下在flutter里async和await?
1 | await的出现会把await之前和之后的代码分为两部分, |
2.7 future 和steam有什么不一样?
1 | 在 Flutter 中有两种处理异步操作的方式 Future 和 Stream, |
2.8 什么是flutter里的key? 有什么用?
1 | key是Widgets,Elements和SemanticsNodes的标识符。 |
2.9 在什么场景下使用profile mode?
1 | profile model 是用来评估app性能的,profile model 和release mode是相似的, |
2.10 怎么做到只在debug mode运行代码?
1 | foundation有一个静态的变量kReleaseMode来表示是否是release mode |
2.11 怎么理解Isolate?
1 | isolate是Dart对actor并发模式的实现。 |
2.12 列举在flutter的状态管理方案?
1 | Scoped Model |
三 参考
- 博客园—一些面试可能会问基础知识