面试的时候当问起如何架构一个前端项目的时候,我的回答为什么总是让面试官不满意?我想知道面试官到底想听什么?

面试的时候会问如何架构你的前端项目

我的回答是

首先我会说我用的技术有 react全家桶 webpack 还有 es6

然后我会说我会把每个页面单独放到一个文件夹里面

页面上的每个功能做成一个组件

我实在不知道怎么具体的描述?请问我应该怎么回答这种问题

阅读 5.4k
4 个回答

你不知道他想让你回答什么,正如他不知道你为什么这样设计。一般面试主要是看你的思路,不是你非得怎么怎么干,用了什么什么。

举个栗子

首先我会说我用的技术有 react全家桶 webpack 还有 es6

why react? why webpack? why es6?...
why not angular? why not vue? why not browserify? why not es5?...

他想听的应该是你做项目的整个思路和流程吧。
我看你上面说的那些怎么没有项目需求分析,不是应该先分析下项目有哪些业务,需要做什么,要求是什么?然后再选择架构吗?

恩,其实不同阶段有不同的答案的。

架构这个这么牛逼的词而言,可能他要问的不仅仅是你的技术点吧。

比如:

  • 整个项目的工作流是怎么样的?
  • 不同人之间协作是什么样的过程?
  • 接口的定义和对接?
  • 采用何种测试方式来增强系统的鲁棒性?
  • 各阶段的文档建立和完善?

等等。

当然,这里面有个很空很泛的词或学科,就是软件工程啦。
毕竟软件开发是个系统性的群体搬砖活动嘛!

最后,就前端技术点而言,手脚架的建立,平台组件库,中前台前端应用,局部性能优化等等,
就像上面大佬说说的,即使现有的成熟的开源解决方案,也有其优缺点嘛,如何定义和选择呢?
万一在业务上遇到了现有开源方案不是很好处理的问题了,如何思考和解决呢。

最后,其实这些东西都没有标准答案的啦,就看你怎么吹牛逼了!反正我都不会,哈哈哈哈。

感觉前端的小项目完全没有架构可言啊,用官方的脚手架直接撸就是了。
不过硬扯的话,那还是有几点可以将的:
1.css:公共css的配置,每个组件自身的css其实是很少的,大多数可以重用的css都可以抽出来,比如说bootstrap里面的utils;
2.权限控制:后台管理类的网站都会有这样的功能
3.ajax请求的全局配置:axios之类的库都可以进行全局的请求配置和错误处理
4.功能组件和公共模块的设计和抽离
5.响应式布局的处理:如果pc兼容移动的,也可以讲讲页面布局上的处理
6.缓存和更新
7.数据流的设计
8.seo处理/单元测试等等
如果是自己配的打包工具,那还可以讲讲打包上的设计
总之面试就是往你会的上面扯,即使偏题了也比答不出来的好,有经验的面试官会从你接触过的东西里面挖深的考你

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题