vianvio
vianvio
整体思路上是一致的,这里我了解到的做法,一种是在拖拽后生成ast结构树,之后基于这棵树反推成代码,盒马那边有一个产品是这样做的,虽然我也不太理解为什么要整这个,而不是直接到代码层,其他同学可以补充。 另一种做法是比较常规的,在表单这层抽象一个json schema,拖拽之后与上面类似,不过是产出一份json配置,来描述整个表单,之后对应到开发那边只要封装一个Form的组件,把json作为props传入即可。这样在拖拽这一层,解决了简单的业务需求,同时,对复杂业务需求,开发人员可以用json配置确定大致的页面布局结构,之后再补充复杂逻辑即可,相当于减少一半的工作量。 这里Form组件需要考虑两个部分,第一是基础能力,基于json配置生成表单的能力,第二是拓展性,考虑form嵌套的能力。所以可以考虑将form抽象两部分,第一部分负责表单构建,第二部分负责表单布局。在布局里面增加类似slot的功能,保证整体灵活性。
Q1: rn与小程序结合需要回答到选型层面,大部分情况两者选其一即可,但是简历上却有两个,所以只是回答系统上怎么做是不够的 Q2: 很难实现不是一个合理的理由,从整体性能考虑,多了一层rn会增加很多开销,体验上会有很大影响 Q3: 这个回答太过浅层,会投放哪几个端是考察业务认知,具体投哪几个,为什么投都需要答出来。如果没有外投,那么回到Q1的地方,完全没有必要用了,如果只有外投,那又为什么要自建app?这些都需要从业务角度给出判断。 其次配套设施指的是发布体系和研发体系的配合,能否做到一键多投,如果某个端出问题了,能否快速回滚这些都需要体现出来 Q4: 回答的并不是设计模式。最后提出问题之后需要给出解法。
这里Q1和Q2的监控需要结合简历中的动画相关内容来思考,Q1注重监控方案,Q2注重问题排查,侧重是不同的。其次是着重强调了内存管控问题,因为在移动端,内存占用过高会导致应用闪退,所以这里隐含另一个问题是,当用户侧应用闪退的时候,前端的日志信息和监控如何起效
第一题总结的非常到位,如果要拓展的话,可以把这里面每一个单点都以平台化的思路去想一下做法,这就是小团队往大团队拓展的思路。 第二题是对边界的考察,能学一下pwa确实挺好了,但是最理想的答案是结合native能力完成pwa的效果,甚至更进一步达到首次即可离线渲染的能力,可以再搜一下,或者单独聊。 第三题的思路非常好,出题时候的预期也是这题会花费很长的时间。但是答案和题目之间还是有点差别,可以用类似的方法,总结整个业务的大图。站在整个部门或者公司的视角,去了解每一个大的核心项目,了解他们对公司业务的价值,或者对某一个核心业务的价值,在这个层面画一张业务大图出来,帮助你梳理整个商业逻辑的思路,同时反过来思考自己负责的事情对这张大图是否有帮助,有没有可能做得更好。 第四题则是对三的递进,站在更远的视角去看,业务是可能倒闭的,但是技术沉淀是可以带走的,可以多一些沉淀。 第五题基本将整个业界常见的适配方案都整理到位了,其他同学可以参考一下,一篇全部包含了。
Q1的文章沉淀非常细致,而且还加上了简易版的webpack,点个赞,后面如果补上amd和cmd的话,整个动态模块能力基本都全了。 Q2是因为觉得你在基础部分经常有深入,所以希望能通过你的实际例子,结合日常工作,给其他同学证明一下,研究基础和底层不是只为了面试的。答案里聊到fiber部分是一个很好的例子,不过还是里我们日常有点远,有时间可以再举几个接地气的。
Q1贴一下相对完整的代码,不然看不出一些细节。
第三题前半段总结的挺好,jwt可以在多看一些资料补充一下。长时间登陆的部分,搜索关键词refresh token,再补充一下。目前给的两个方案不适合用来做长期登陆。 第四题目前描述的是一个账号模型,不能算作账号体系。账号体系是将账号本身看做一个复杂系统,考虑多个账号间关联,以及对外用户身份唯一标识和开放认证。对应的就需要在各个不同的业务入口做用户态统一处理,具体可以再多查一些资料。名词还不熟悉的话先从了解他们开始吧。
> 问题1做法: 在router发生变化的时候,检查vuex里是否存在数据。没有的话dispatch action发出请求,并返回一个promise,等数据获取完毕后调用next()跳转到相应页面;数据存在时直接调用next()跳转到相应页面。 这里相当于做了一个数据缓存层,那需要具体考虑缓存命中时候如何更新的问题。 > 问题5 架构图画的是有问题的,架构图需要将大致的技术模块描述出来,比如数据库用了什么数据库,是否只有一层数据库;往上到数据处理层怎么保证灵活性,怎么抽象的;到前端这里不能只有一个spa,需要将数据驱动视图表现出来;最后,web server指向spa没看明白是什么意思。
有时间可以调研一下哈,场景会相对更复杂
Q1的整体技术架构图需要重画,架构图要描述清楚整个技术分层,看图基本就能落地,但是目前的图里面有很多重复的内容分散在不同的层级里,还有一些不同领域的分层被放在了一起,需要再好好思考一下。 大屏架构图也要再调整,可以查一些其他的架构图参考。 Q3 能看得出对整个链路有了解,能够跨出前端本身的领域,之后希望能更多的从数据本身和业务思考的角度去看这个问题。