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

文章转载自http://www.qingmengtech.com/createblog?id=34

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

 

前端部分

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

React的Star数

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

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

 

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进行便捷的对象模型操作。

 

总结

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值