面试超尴尬瞬间我从没参与过一个全栈项目

34次阅读

共计 3263 个字符,预计需要花费 9 分钟才能阅读完成。

写简历是找工作的第一步,第二步就是面试,那么简历就是一块敲开面试大门的敲门砖,所以写简历的根本目的就是要体现出你的专业水平和项目经验,那么什么样的简历能够快速的抓住 HR 的眼球呢?作为前端工程师的简历来说,其中很重要的一点,就是要在简历当中至少有一个亮点的项目,这个项目既要凸显出你技术的深度和广度,又要与公司中的主流技术栈相吻合。那么接下来我们就一起来分析一下目前公司的主流技术栈有哪些?我们又应该如何运用这些技术栈打造一块“够硬”的敲门砖从而得到心仪的 offer 呢?

前端部分

随着时间和技术的发展,前端框架从 jQuery 一家独大的情况,发展到现在的 Vue、React、Angular 三足鼎立的情况,三个框架各有优略,也都是比较成熟,但从国内的前端使用现状来看,使用最多的两个框架是 Vue、React,我们再来对比一下 Github 上的 Star 数:

React 的 Star 数

虽然 star 数不能代表一切,但由此也可以看出 Vue 受欢迎程度是非常高的。下面我们着重介绍一下 Vue.js 的生态圈。

Vue

Vue.js 是一款极简的 MVVM 框架,如果让我用一个词来形容它,就是“轻巧”。如果用一句话来描述它,它能够集众多优秀逐流的前端框架之大成,但同时保持简单易用。为什么这么说,因为 Vue.js 通过简洁的 API 提供高效的数据绑定和灵活的组件系统。在前端纷繁复杂的生态中,Vue.js 却一直受到一定程度的关注,而其本身也在高速发展中,不论是生态、社区、资源、插件等等都在日趋壮大。

Vuex

如果说整个生态圈里 Vue.js 作为核心,坐实了老大地位的话,我会把 Vuex 放在老二的位置。学过 React 的人都知道 Redux 的重要性,而 Vuex 之于 Vue 就像 Redux 之于 React。

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。灵感来自 Flux 和 Redux, 但简化的概念和实现是一个专门为 Vue.js 应用设计的状态管理架构。如果您的应用程序足够简单,建议您不要使用 Vuex。但是,如果您需要构建是一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。

言归正传,什么是状态管理模式?讲讲我自己的理解吧。当你在开发应用程序时,你一定会分解出很多组件进行开发,而各个组件之间想必在逻辑上多少是有关系的。那么组件之间的“通信”就成了待解决问题。以前我们试图用事件广播来做,但随之而来的问题是,在应用不断的扩展和变化中,事件变得越来越复杂,越来越不可预料,以至于越来越难调试,越来越难追踪错误。这当然不是我们想要的,我们希望应用的各个部分都易维护、可扩展、好调试、能预测。于是,状态管理模式冒了出来。下图就是 Vuex 实现单向数据流的示意图:

Vue Router

Vue Router 是 Vue.js 官方的路由插件,它和 Vue.js 是深度集成的,适合用于构建单页面应用。Vue 的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在 Vue Router 单页面应用中,则是路径之间的切换,也就是组件的切换。包含的功能有:

  • 嵌套的路由 / 视图表
  • 模块化的、基于组件的路由配置
  • 路由参数、查询、通配符
  • 基于 Vue.js 过渡系统的视图过渡效果
  • 细粒度的导航控制
  • 带有自动激活的 CSS class 的链接
  • HTML5 历史模式或 hash 模式,在 IE9 中自动降级
  • 自定义的滚动条行为

Vue CLI
作为 Vue 的脚手架,Vue CLI 无疑是出色的。它可以帮你快速的上手 Vue 构建的工程,而无需再花多余的时间去熟悉 Vue 工程的文件系统。
使用它的方法也很简单:

安装 Vue CLI3:

npm install -g @vue/cli

查看版本号:

vue –V

进入项目:

cd project-name

运行项目:

npm run serve

需要
注意的是:
如果你已经全局安装了旧版本的

vue-cli (1.x 或 2.x),

需要先通过

npm uninstall vue-cli -g

yarn global remove vue-cli

卸载它
Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11.0+)

Vant
有赞前端团队开发的一款轻量、可靠的移动端 Vue 组件库,60+ 高质量组件,95% 单元测试覆盖率,完善的中英文文档和示例,支持按需引入,支持主题定制,支持国际化,支持 TS,支持 SSR。

# 通过 npm 安装
npm i vant -S

::: hljs-center

Webpack

Webpack 并不是 Vue 独有的东西, 而且 Webpack 的大名说不定比 Vue 本身还响亮。Github 上各大主流的项目,无一例外都已经是基于 webpack 来开发。你可以不打算将其用在你的项目上,但没有理由不去掌握它。篇幅有限,不展开描述,一句话概括 webpack 的主要用途:把所有浏览器端需要发布的资源做相应的准备,完成资源的合并和打包。四个核心概念:

入口 (entry):指示 webpack 应该使用哪个模块,来作为构建其内部依赖图的开始。进入入口起点后,webpack 会找出有哪些模块和库是入口起点(直接和间接)依赖的。
输出 (output):告诉 webpack 在哪里输出它所创建的 bundles,以及如何命名这些文件,默认值为 ./dist。基本上,整个应用程序结构,都会被编译到你指定的输出路径的文件夹中。
loader:让 webpack 能够去处理那些非 JavaScript 文件(webpack 自身只理解 JavaScript)。loader 可以将所有类型的文件转换为 webpack 能够处理的有效模块,然后你就可以利用 webpack 的打包能力,对它们进行处理。
插件(plugins):可以用于执行范围更广的任务。插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量。插件接口功能极其强大,可以用来处理各种各样的任务。

后端部分

介绍完前端我们需要掌握的技术栈,接下来要聊聊作为炙手可热的全栈工程师来说,还有哪些知识是需要我们必须掌握的:

Node.js 给很多初学者的第一印象就是“可以在服务器上运行 JavaScript”,于是很多人就有这种疑问:“我写的是前端代码,又不是后端,我学 Node.js 干嘛啊”。

如今的前端已经不是零几年的前端了,以前我们写的是 Web Page,我们写出来的页面是给人“看”的;而现在我们写的是 Web App,我们写出来的应用是给别人“用”的。而两者的复杂度也不可同日而语。

在服务器端,JavaScript 不依赖浏览器,而是由特定的运行环境提供的 JavaScript 引擎解析执行,比如 Node.js。服务器端的 JavaScript 不操作 DOM 和 BOM,它常常用来做一些在客户端做不到的事情,例如操作数据库、操作文件等。另外,在客户端的 Ajax 操作只能发送请求,而接收请求和做出响应的操作就需要服务器端的 JavaScript 来完成。

所以哪怕你只想做一个前端 er,Node.js 也是一项必须要掌握的技能。

KOA2
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型 。MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
我们可以在 Koa2 中通过 Mongoose 对 MongoDB 进行便捷的对象模型操作。

总结

如果你的简历中有一个具备上述前后端技术栈并且能够上线的全栈项目的话,你还愁得不到面试机会吗?而且这种级别的项目在面试过程中,当面试官问你关于项目经验的问题的时候,你也可以足够从容的来应对。

文末福利

给大家推荐一门包含上述所有技术栈的一个全栈项目,是由慕课网精英讲师 – 谢成老师讲授的。

双 11 活动只要 1 块钱哦 ~~( 加后面的课程助手领取优惠券)下面小编奉上项目课程大纲:

课程地址

 

扫码加我好友
领取课程福利

正文完
 0