[关闭]
@jingwentian 2016-11-16T02:36:39.000000Z 字数 9532 阅读 1487

大妞面试宝典

大妞 面试

这是给单小猴量身定制的前端面试宝典
下面会涉及到很多知识点,类库,工具等. 要认真看!

一. 工具篇

把这个写在最前面是因为这个最简单咯, 没太多学习成本, 但好的工具可以很大程度的提高工作效率和工作水平, 要善于积累和收藏...

常用的代码编辑器

  1. Sublime Text

    简称sublime, 是一款很轻巧的代码编辑器, 支持多种语言, 扩展丰富(比如可以安装 jslint 扩展来检测JS语法, 安装 jsFormat 来格式化JS等等 ), 也是我个人在工作中最长使用的编辑器
    
  2. WebStorm

    WebStorm: The Smartest JavaScript IDE
    俗称`Web前端开发神器`, 是一款功能强大的IDE, 所有IDE就是`集成开发环境`, 有很多的设置和用法, 我的建议是以这个IDE来开始你的前端开发, 因为IDE有比简单的编辑器(sublime) 更全的功能, 熟悉后效率会提升很大, 去网上多搜罗一些相关的用法.
    
  3. vim

    之所以提到`vim`, 不是要求非常会用这个, 而是它太著名了, 这是linux系统自带的代码编辑器, 如果以后你涉及到linux 系统, 必须要知道vim的一些简单操作, 因为他不支持鼠标操作, 所以要知道简单的插入(a/i/o),保存(w),退出(q)命令, 简单了解即可.
    

其他的我就不推荐了, Dreamwaver 我个人不太喜欢用, 有点古老而臃肿, 虽然功能也挺全的. 主力的开发工具不求多但要用的顺手, 要配上常用的扩展(代码压缩/代码格式化/语法检测/语法提示/代码高亮/漂亮的主题和字体等等), 也要记住常用的快捷键(比如复制行,删除行,多选等等平时常用的 )

设计相关的工具

下面的两款设计工具都是Adobe 其他的工具, 也是最主流的设计工具, 要了解简单的操作方法.
同时也要懂涉及到的设计图格式: (去分别百度一些)
1. PSD
2. PNG
3. JPG
4. GIF

  1. Photoshop
  2. Fireworks

常用版本控制工具

这可能对于你来说又是一个新的名词, 但在团队协作开发中是必备的, 版本控制工具的官方解释是: "版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具."
可用于版本控制的工具现在流行的是 git, 古老一些的有 svn

  1. Git

    Git 是目前主流的版本控制工具, 详细一点说就是分布式的版本控系统, 简单的工作流程就是: 本地编写代码 -> 提交到本地git仓库 -> 推送到远程的 git仓库, Git的工作流有很多, 不同的公司可能采取的不同, 主流的比如 gitflow的git工作流. 好吧, 我知道你没明白~~ 先去百度一些git是个啥东西, 然后在看看下面链接的教程, 有点长, 你可以先看看git的简介,安装和简单的操作. 并记住这个东西是干嘛的, 以后工作中必须要学会它的用法!
    
  2. SVN

    对于介个东西就不多说了, 是一个中心化的版本控制工具, 知道他是个中心化的版本控制就好了, 虽然很多公司还在用, 但是去了现学就行了...
    
  3. FTP

    注: FTP不是版本控制工具!!!!
    之所以和 git 和 svn 这俩货放一起, 是因为很多公司还是在FTP连在内网直接开发或上传测试的. 那就暂且把它当做一些常用的管理代码的方式吧 ^_^
    那啥事FTP嘞, 这是个 "文件传输协议", 你可以联想到 HTTP, 它是超文本传输协议, 不明白先记住这俩词儿. 通常就是用一些 FTP的管理工具(如`FlashFXP`等), 通过IP地址+端口号+用户名+密码 直接登录到远程的服务器或内网的服务器来管理远程的文件或目录(比如下载一个index.html,本地修改完,在上传上去替换原来的, 你本地的 wamp实际就是一个远程服务器的概念)
    

个人知识管理工具

  1. 印象笔记/有道笔记

    不多说, 管理好分类, 把工作和学习中遇到的知识点记录下来
    
  2. markdown

    这是一个以 .md或 .markdown 结尾的文档格式, 是github 默认支持的文档格式, 这个格式的文档可以通过一些简单的标签或符号(标记)来书写格式简介切美观的文档. 也是程序员们比较钟爱的一种文档格式. windows下可以下载 MarkdownPad 这个工具来书写
    

产品原型图工具/脑图工具

原型图工具就是将想法和构思化成草图的工具
脑图工具就是将构思和想法化成流程图的工具
这两类工具主要是产品经理用的, 你只需了解即可, 脑图工具也可以用来梳理思路等

需注册的网站

这里说的并不是社交网站啦, 而是一些社区网站以及代码分享和托管的网站

  1. Github: https://github.com/

    首先,马上去注册一个账号..
    github 是一个远程的代码仓库,代码分享和托管的社区. 几乎所有的编程语言和知名的类库等都托管在这里, 当然你也可以通过github来存放你自己的代码, 也可以star或fork别人的代码等等. 但是前提是你得会git. 是不是有点眼熟, 在上一个分类里有提到这个. 我会给你口述一些这个的工作流程. 我们公司的项目代码也是通过github来托管的
    
  2. 去注册一个域名吧, 自己做个博客啊还是什么的, 我给你提供后端的接口..

    我已经悄悄的给你注册了一个: eowyn.xyz
    

二. 基础篇


三. 前端框架/类库篇

虽然现在我们学了前端的HTML+CSS+JS, 这是前端的基础, 但目前流行的一些开源类库可以大大提高开发效率, 避免重复的造轮子, 一定要了解并且可以简单应用.

前端构建工具

所谓前端构建工具, 也可以理解为自动化工具. 就是通过简单的配置, 实现一系列的自动化的操作, 比如代码合并/代码压缩/图片压缩/less或sass的编译等等一些列流程都自动帮你搞定. 虽然上手要学习要配置过流稍有曲折或者概念不太理解, 但应用起来之后可以大大的改善整个的前端开发流程. 下面列举的三个工具可以按正序选择一个了解并学习. 暂时也只需要了解它能实现的功能和简单应用.

包管理工具

模块化工具

前端的开发要有模块化开发思想, 所谓的模块化工具, 其实可以理解为"模块加载器", 改变了传统的开发思路和流程.
下面两种应该是主流的两种模块化的工具, 虽然遵循的规范不同, 但共同的推广了模块化开发的进程, 使用也是各有喜爱, 可以看看社区里的讨论 , 选择一个入手即可. 但务必要学会其原理和用法!

CSS预处理工具

这是一个css编写的一个神器, 它扩展了 CSS 语言,增加了变量、函数等特性,使 CSS 更易维护和扩展。

主流UI框架

所谓UI框架, 就是框架中包含了常用的页面样式,CSS组件和JS组件; 开发者可以通过UI框架快速的拼出一个高质量的网站.只需要简单的配置和粘贴. 当然也可以对框架进行深度定制来整合出一套属于自己的框架. 下面两个框架是最为流行的也是应用广泛的. 在一些不要求自定义样式的场景可以迅速入手使用. 也可以多参考一下这些框架中优秀的编码规范,文件组织方式等. 大概了解一下就好咯~

为了你查看, 上面两个项目的链接都是中文网的地址, 也可以去看看他们的官网.

主流JS框架

下面的几个库其中有几个你应该听说过或者用过. 以下的库也可能是工作中主要应用的开源项目.

主流工具库

工具库的作用就是对一些常用方法的封装, 比如数组的排序,筛选; 字符串的处理; 数字的处理; 对象的处理等等. 在平日的开发中省去了很多时间去单独处理. 也可以很好的配合jQuery 等Dom 操作库来完成工作.

举一个Lo-Dash处理数组的例子:

_.uniq([2, 1, 2]); //实现对数组的去重
// → [2, 1]

主流模板库

模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。通俗的说就是为了避免在js里面"拼"页面, 而是将页面独立成模板文件, 通过分配数据进入模板引擎来驱动模板引擎解析数据并生成响应的HMTL...

举一个mustache的例子

<html>
<body onload="loadUser">
<div id="target">Loading...</div>
<script id="template" type="x-tmpl-mustache">
Hello {{ name }}!
</script>
</body>
</html>

function loadUser() {
  var template = $('#template').html();
      Mustache.parse(template);
      var rendered = Mustache.render(template, {name: "Luke"});
      $('#target').html(rendered);
}

主流插件及其他类库

具体参考: 前端组件库


四. 进阶篇(开发模式)

静态文件的组织方式

CSS 相关

JS 相关

HTML 相关

调试工具

其他


五. 性能优化篇

工程内的常用做法

工程外的常用做法


六. 工作流程篇

这个流程是我工作的过程中经历的一些方式, 没有真正干过前端岗也不知道太具体的工作方式或者大公司流程化的工作流. 有的术语是我自编的, 大致了解一些前端的一些不同的工作方式

工作模式分类:

工作大致流程:


七. 面试篇

面试的过程大概在30分钟-1个小时左右, 如果有面试题的话可能会给40分钟的笔试时间, 然后面试官会根据你的简历和面试题来问一些问题. 态度谦和如实回答即可

有关心态

公司招人比较关注现有的技能, 项目经验, 工作态度以及学习能力, 一张白纸更好培养. 所以不必有太大压力, 一定要表现出虽然有的东西现在虽然不会, 但会积极的去学习和沟通. 在面试前一定要先去试图了解一个公司的现有业务等, 以及对这个行业的热情和热爱...

有关简历

有关面试题

  1. 前端开发面试题

七. 实战篇

上面介绍了那么多名词那么多知识点等最终还是要落地, 做几个小项目来练练手, 所以有针对性的分成了三类, 也代表了主流的前端所要面临的三类开发方式

PC站

传统的PC浏览器所浏览的页面

移动站

手机浏览器所浏览的页面

响应式站

PC和浏览器浏览同一个页面, 所展示的样式不同


名词术语


需关注的网站

  1. 开发者头条
  2. 稀土掘金
  3. segmentfault
  4. Stack Overflow
  5. 知乎

一些扩展阅读

  1. 前端组件库
  2. 关于程序员求职简历
  3. 关于前端面试
  4. 大公司或专业团队目前流行的前端工具有什么?

前端技能树

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注