若是做过Flutter,技术题从如下选择即可。
PS:关注一下简历上的最高title,并针对性的问几个问题
根据简历针对性的准备一些问题,避免完全依赖下面的这些问题
1.1. 技术题:
一、【初级】必须掌握
dart传参的基本方式 (abc(a) abc(a,{a}) abc(a,[a]))
widget state生命周期介绍 【】
dart语法规范 【】
final与const区别 (const 值必须在编译时知道,初始化后无法更改,final 值必须在运行时知道,初始化后无法更改)
?、??、??=三者的区别 (??=,如果变量没有赋值才进行赋值,否则不进行赋值)
Map如何转Modal 【】
stateless和stateful的区别【】
flutter的两种路由方式【熟悉】
父Widget调用子Widget方法 【】(https://blog.ziyiu.com/2019/12/02/Flutter/flutter%E7%88%B6%E7%BB%84%E4%BB%B6%E8%B0%83%E7%94%A8%E5%AD%90%E7%BB%84%E4%BB%B6%E6%96%B9%E6%B3%95/)
做过的动画效果 【】
flutter为什么既要支持运行时编译又要支持运行前编译(JIT(即时编译)运行时编译可以保证代码迅速调试提高开发效率, AOT(事前编译)编译生成二进制文件可以保证在release环境下代码运行效率)【】
二、【中级】进阶掌握
main的作用及调用时机 【】
纯Flutter项目会有几个VC/Activity (1个)【】
都了解过哪些跨平台技术并聊一下其优缺点(rn ionic)【】
with关键字的作用,解决啥问题(混入实现代码复用 mixin)【】
flutter项目的性能优化【dio锁队列(不错),list性能优化,资源加载优化,】(setstate尽量只更新叶子节点,动画添加AnimatedBuilder,多使用androidStudio进行调试,多无状态组件,尽量把组件拆分开)
如何捕捉异常,同步异步,如何全局捕捉异常【】
为什么根Widget要使用stateless 【】
原生启动图何时消失,runApp是否了解 【】(https://www.jianshu.com/p/5ecb24dfc44a)
Provider的使用,使用过也使用过其他 (全局状态管理,实质上是实现了一个观察者模式)【】
使用GestureDetector碰到的坑 (behavior: HitTestBehavior.opaque,)
如何使用Controller调用子节点的方法
自定义动画 (AnimatedWidget) 【】
让你影响深刻的一些坑及填坑经验 【】
如何做全局路由【】
纯Flutter项目,如何获取路由栈(自己算)【】
路由的监听,侧滑和安卓返回键监听(https://blog.csdn.net/qq_32319999/article/details/80333511)
二、【高级】选择性掌握
flutter项目如何抓包【】
flutter WebView的加载速度优化(X5webview)()
介绍一下flutterBoost(。。。)(不熟悉)
如何将Flutter 模块嵌入纯Native项目,及都需要注意哪些事项
说下Widgets、RenderObjects 和 Elements的关系(https://blog.csdn.net/weixin_34356555/article/details/88113463)
Flutter 是如何与原生Android、iOS进行通信的?
设计一个日志系统
Flutter里的各种key
了解过持续化集成不
设计一个性能监控系统
三、附加题
flutter的通信原理,能使用
flutter渲染原理,widget/element/renderObject、事件循环、
1.2. 非技术:
现有一个Native项目,为了满足一些业务场景,需要走混合开发,若让你主导,聊一下你接下来的计划及需要关注的点。(考察点:风险及节点意识)
若让做一个需求的技术负责人,除开发工作外,聊一下你都会做哪些事情(考察点:沟通意识)
最近看过哪些书(考察点:学习态度)
最近研究过哪些新技术,及如何学习的(考察点:学习态度)
业务方提出紧急A需求,但在实际开发或调研中碰到一些坑,此时业务与技术如何做决策。(考察点:产品思维),正常,知道及时汇报
介绍下上家公司的开发流程,聊一下你比较反感及喜欢的一些点。(考察点:全局观)
将项目代码给他看,让他提出一些想法,比如:优秀的点和仍需改进的点。(考察点:项目的全局观)