面筋
砖头
Feb 8 2018

# 感叹

冬去春来,总算是把工作的事情稳定下来了,算是对半年前自己有了一个交代。接下来一定会是更加波澜壮阔的人生。其实毕业的时候就有想过换工作的事情,但是当时的自己贪图安逸就没有去做这些,而是想着推迟到年尾。不过,既然结尾是好的话,过程也不是那么重要

# 前端题目

事件

  • 什么是事件模型
  • 什么是事件委托
  • target currentTarget

作用域

  • 什么是闭包【具体题目】
var foo = function() {
  var a = 0;
  return function() {
    return a++;
  };
};
var a = foo();
a();
a();
var b = foo();
b();
// 0 1 0
1
2
3
4
5
6
7
8
9
10
11
12
  • let var
  • 变量提升【函数表达式和函数声明区别】
  • this
var foo = {
  a: 1,
  bar() {
    console.log(this.a);
  },
};
var bar = foo.bar;
foo.bar();
bar();
// 1 undefined
// 改进输出1 `var bar = foo.bar.bind(foo)`
1
2
3
4
5
6
7
8
9
10
11
  • bind apply call
// log 传多参数并再其前面加上一个 'hello'
var log = function(...args) {
  var _args = [].slice.call(args);
  _args.unshift('hello');
  console.log.apply(console, args);
};
1
2
3
4
5
6
// 实现一个 bind
var bind = function(context) {
  var me = this;
  return function() {
    me.apply(context, arguments);
  };
};
1
2
3
4
5
6
7

异步

  • js 事件队列,异步队列
  • web worker
  • promise
  • async/await
function async foo(){
  var bar = function(){
    return promise((resolve,reject)=>{
      setTimeout(()=>{
          resolve(1)
          //reject('err')
        },1000)
    })
  }
  var a = await bar()
  console.log(a)
}
1
2
3
4
5
6
7
8
9
10
11
12

继承

  • 写尽可能多的继承方法,并说明好坏
  • prototype 是什么

es6

网络

  • osi 7 层及其代表应用
  • 状态码
  • tcp 握手挥手,为什么不能两次
  • 从输网址到展现发生了什么
  • 优化加载速度
  • 为什么加载 js 会使 dom 停止渲染
  • jsonp 原理
  • 同源策略
  • 解决跨域,前后端
  • session
  • cookie 原理,localStorage sessionStorage

样式表

  • position 几个属性差别,应用场景
  • display 几个属性差别,应用场景
  • 垂直居中方法
  • bfc

框架

  • vue 双向绑定原理
  • vue 挂载实例在哪个阶段
  • webpack 基础配置哪些,常用插件是什么
  • koa 和 express 相比,优点。主要逻辑【中间件】
  • 如何写爬虫

其他

  • 二叉树
  • 链表和数组区别
  • 环形网络
  • 快排
  • 中序遍历
  • sql
  • tcp/udp
  • 实时通讯【websocket】,实时对战【帧同步】

  • 最近做的项目
  • 最难的项目,如何解决的
  • 提个场景,给解决思路
  • 个人项目爱好,技术博客

# 招聘信息

# 网站 app

主要也是那一些吧,首先第一个网络上的网站和手机 app,个人觉得好用点的就是拉钩了,拉钩的 app 很好用,网页倒是差一点。其他的比如 boss 直聘,智联,大街,100offer,51job 都觉得不是很好用。所以主要的工具也就是拉钩 app,一天上限投十个,但是做点简单的任务可以加上线,上传简历这个功能觉得挺好用,不用去填一大堆表单。而且企业搜索比较全,唯一觉得不足的是对一些薪资和年限标注的可能和实际企业要求不是很符合。

# 某公司招聘页

这个基本上每一个做的好点的企业都会在首页的 footer 下有一个加入我们的跳转链接,小点公司可能就是跳拉钩,或者是发邮箱。大一点的可能就需要你去登录注册填表单,超麻烦。而且这种形式被选中看到的机会也少,但是这种形式的话针对性很强,可以先去搜某公司主页,查看具体职位再找其他方式,拉钩或者邮箱投过去

# 内推

这个肯定是最好的方法,找认识的或者朋友的朋友,或者网友等等,这样的机会会大的多,而且内推后不超过一周就会有消息。

# 招聘流程

其实流程大多都是一样,可能有些小差异。看中简历,hr 联系,电面,视频面【不能直接过去的话】,现场面【包括两轮,面试官和 cto ,内容也会有很多不同,面试官主要会问跟职位有关的东西, cto 会问很多其他的问题,包括数据库,数据结构,网络协议这些基本的和一些项目有关的问题】, 最后就是人事沟通。之后就是等了。

# 参考网站

Front-end-Developer-Interview-Questions (opens new window) 面试一个前端开发者 (opens new window) 网络分析参考 (opens new window) 前端面试常见问题 (opens new window)