(Flutter)面试提问

(回答稍后总结…)
-------------------------------------------------------ONE--------------------------------------------------------------------------

1、你所参与的项目中用到了什么组件?
(根据个人情况而定)

2、对于页面报错使用到了什么机制?
参考:
Flutter 页面中的异常处理ErrorWidget

3、Dart: 闭包
(1)闭包是一个方法(对象)
(2)闭包定义在其他方法内部。(定义在函数里面的函数就是闭包。)
(3)闭包能够访问外部方法内的局部变量,并持有其状态(这是闭包最大的作用,可以通过闭包的方式,将其暴露出去,提供给外部访问。)

参考:
Dart之闭包

Dart中的闭包

词法闭包

4、Dart :async和await区别
(1)Future`

Dart 使用Future处理异步编程
如果某个操作是耗时的,你可以将这个耗时操作包装成一个Future,等未来某个时间点操作完成后,就可以从这个Future里面取出结果了。
(2)async和await

asyncawait 关键字用于实现异步编程,并且让你的代码看起来就像是同步的一样。

await 表达式的返回值通常是一个 Future 对象;如果不是的话也会自动将其包裹在一个 Future 对象里。 Future 对象代表一个“承诺”, await 表达式会阻塞直到需要的对象返回。

异步函数 是函数体由 async 关键字标记的函数。将关键字 async 添加到函数并让其返回一个 Future 对象。必须在带有 async 关键字的 异步函数 中使用 await。

(3)`同步和异步

同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。
异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。

参考:
同步(Synchronous)和异步(Asynchronous)

秒懂Flutter之如何进行异步编程(future,async, await)

异步支持
5、Flutter:生命周期
传输入口:Flutter生命周期

6、StatelessWidget和StatefulWidget的区别
传输入口:Flutter生命周期

7、交互部分,你用的是什么?
http
(根据个人情况而定)

8、加班?兴趣爱好?
(根据个人情况而定)

-------------------------------------------------------TWO-------------------------------------------------------------------------
1、TCP协议与UDP协议的区别?

2、(Dart)List、Set、Map的区别?

3、(Flutter)了解过动画嘛?

4、(Flutter)使用过单例嘛?

5、知道https://pub.dev/嘛?了解过空安全嘛?

6、介绍下Future对象异步获取?
(参考ONE中的第4问

7、Dart是单线程还是多线程?
Dart是一种单线程语言。

8、项目的交互部分,你用的是什么?
(根据个人情况而定)

9、项目中的本地存储,你用的是什么?
(根据个人情况而定)

Guess you like

Origin blog.csdn.net/weixin_45625639/article/details/123438392