2020.8前端找工做记录

记录一下自8月中旬离职以后准备以及找工做的经历,会提到我的感觉到的招聘状况和一些前端面试题.会按照如下几个点来展开.
  • 背景信息(我的相关)
  • 总体找工做的感觉
  • 总体节奏(时间安排)
  • 面试题整理(含算法题)
  • 感悟和总结

背景信息(我的相关)

普通二本,计算机专业,三年工做经验(一年爬虫,两年前端+全栈),前端岗位,技术栈主要是vue.js + node.js.简历上稍微好的点应该就是在猎豹的工做经历和爬虫的工做背景.总体看来就是很通常般的.前端

总体找工做感觉

在经历整个过程以后对找工做前的一些点的思考,但愿减小一些同窗对今年就业形势的误判.vue

  • 总体就业形势的感觉

由于受疫情影响,总体经济大形势是很差的,不少企业都在裁员,因此总体hc减小,工做很差找,这是在脉脉或者v2ex论坛里面不少人的反馈.可是我我的感觉是今年招人的仍是挺多的,就拿个人状况来讲,我找工做一直用的boss直聘(boss招聘打钱),上面有300+条消息都看不过来(这个有点小诀窍,下面会提到),只有第一周我回了一些比较中意的hr简历,剩下的两周都没有再投简历.
结合约面试的状况来看,招聘主要集中在滴滴,美团,字节这三家.boss上发消息的10个里面有6个字节的.美团换着部门面面了三次,滴滴面了两次.面了三周的时间,基本上天天两场.最后陆陆续续拿到了6个offer.
后来我也分析了,总体hc减小是不假,但多是10个小厂减小了20个hc,一个大厂涨了12个hc这样的状况,hc少了可是更集中了.
个人结论就是,有些事别老听别人说,要小马过河,本身去试试.
另外,我也有点困惑,今年找工做的这个状况究竟是3年的工做经验带来的仍是猎豹的工做经历带来的.node

  • Github项目star数和我的博客对面试的影响

我在github上有一个500+ star的项目,还有平时有写博客的习惯,我从改简历开始就琢磨这些点该怎么表达更好,尽管我在每次自我介绍的时候都会提到在开发之余我会写写本身的项目和博客,可是目前github项目基本没有人问的,博客也只有百度5面和去哪儿二面的时候才有问到.
因此,这部分怎么说呢,属于锦上添花的,要搞好核心能力,不要把这些看过重,除非你这这两点很是很是优秀.webpack

  • 关于视频面和现场面

视频面确实方便,面试成本低,写代码也更方便,可是呢,视频面节奏比较慢,基本上不会一面以后立马二面,我见过最快的视频面隔了一个小时进入下一面,其余的都隔着1-3天不等.不如现场面痛快,今年的现场面基本上都能当场轻松的拿到offer.git

  • boss上遇到的一些问题es6

    • 我发现把boss的求职状态设置成[在职-暂不考虑]比设置成[离职-随时到岗]更有用,设置成[在职-暂不考虑]而后天天还正常的刷boss会收到更多的消息,我的感觉,无实际依据.
    • boss上有一部分人,不是hr也是否是team leader,可是也会找你要简历,这部分八成是赚内推奖励的,个人简历就被莫名其妙的推过几回,对于这种状况我不置能否,可是若是你有肯定的内推人的话,最好甄别一下这种状况,把内推奖励留给小伙伴.

总体节奏(时间安排)

第一周,主要用来回顾一下基础知识,看了下一些比较重要的知识点,没怎么看面试题,面试题基本上都是经过面试来查漏补缺的.同时开始约下周的面试.
第二周,开始面试,基本都是视频面,上午一场下午一场,好留出来时间整理遇到的问题.周六日基本不约面试,同时开始约下周的面试.这周的面试基本上全挂一面,惨不忍睹,固然也有拿offer的,做为保底.这不重要,重要的是查漏补缺,找出本身准备的和面试的差距.好有的放矢.
第三周,面试节奏放慢了一点,面试题都过了一遍了,因此这周基本上都能进二面了,也拿到了一些offer,这时候去推掉第二周拿到的offer.
第四周,这时候面试节奏更慢了,基本上是第三周面试进入比价靠后的面试和一些临时约的面试.这时候拿到的offer以后去推掉上周的offer.这周以后基本上面试结束,找工做告一段落,纠结纠结手里的offer,做出决定,而后等着入职就好了.github

面试题整理

常规知识点

在第一周的时候整理基础知识的时候侧重回顾的一些知识点,这里列一下web

  • js基础知识
  • 从输入url到得到页面经历的全部事情(越细越好)
  • 原型链
  • 继承
  • es6新特性
  • DOM事件和事件流
  • 盒子模型
  • 事件循环
  • BFC
  • Flex
  • Promise原理以及手写代码
  • vue响应式原理
  • vue虚拟dom & diff算法
  • 前端性能优化
  • 防抖和节流
  • HTTP缓存
  • 常见算法(排序洗牌等)

面试中遇到的高频题(跟上面会有重合)

  • 事件循环
  • 原型链
  • vue响应式原理
  • HTTP缓存
  • 防抖和节流
  • vue3解决什么问题
  • Vue 为何不能检测数组和对象的变化,怎么处理(为何经过索引操做数组不能触发响应式)
  • vue router原理
  • v-model实现原理
  • vue.nexttick
  • https的过程
  • 性能优化
  • promise(基本上要求能够手写Promise.all方法,这个问的最多)
  • async/await
  • 从输入url到看到页面经历的全部事情(越细越好,这道题知识点很是多)
  • 跨域造成缘由以及解决方案
  • 深拷贝和浅拷贝(也会问到JSON.stringify JSON.parse这种方案的弊端)
  • 箭头函数和普通函数有什么区别
  • 最近在看什么新技术

低频可是须要注意的面试题

  • CSRF & XSS
  • chrome设置小于12px字体
  • node和浏览器事件循环有何不一样
  • webpack tree shaking
  • map & set
  • 前端有哪些技术(腾讯面试题,面试官会顺着你说的技术一个一个展开问)
  • 实现一个call/bind(call,apply,bind区别)
  • get 和 post 的区别
  • BFC
  • yield
  • 如何给localStorage加上max-age功能
  • Object.defineProperties都有那些参数,以及参数解释
  • requestAnimation
  • 手写原型链和js各类继承模式
  • 让你从新作你作过的项目有什么能够改进的地方
  • 让一个元素消失的几种作法,有何不一样,对子元素的影响
  • 如何遍历对象(接下来会问有何不一样)
  • 搜索框输入须要注意的点(其实仍是在问防抖)
  • 原生实现inserAfter
  • 事件委托应用场景,e.target和e.currentTarget区别
  • HTTP缓存,对应字段,cache-contron都有那些值
  • new过程都发生了什么

面试遇到的算法题

  • 排序算法(冒泡,快排)
  • 洗牌算法
  • v1.2.3 v0.3.0 这样的版本号比大小(找简单方法,不要随便写一个循环的版本)
  • 广度优先遍历
  • 用O(n)的复杂度合并两个有序数组
  • 数组生成树形结构
var arr = [
        { id: 1, value: "节点1", p_id: 0 },
        { id: 2, value: "节点2", p_id: 1 },
        { id: 3, value: "节点3", p_id: 1 },
        { id: 4, value: "节点4", p_id: 2 },
        { id: 5, value: "节点5", p_id: 0 },
        { id: 6, value: "节点6", p_id: 5 },
        { id: 7, value: "节点7", p_id: 6 },
        { id: 8, value: "节点8", p_id: 6 },
    ];
    // 输出
    [{
        "id": 1,
        "value": "节点1",
        "p_id": 0,
        "children": [
            {
                "id": 2,
                "value": "节点2",
                "p_id": 1,
                "children": [
                    {
                        "id": 4,
                        "value": "节点4",
                        "p_id": 2,
                        "children": []
                    }
                ]
            },
            {
                "id": 3,
                "value": "节点3",
                "p_id": 1,
                "children": []
            }
        ]
    },
    {
        "id": 5,
        "value": "节点5",
        "p_id": 0,
        "children": [
            {
                "id": 6,
                "value": "节点6",
                "p_id": 5,
                "children": [
                    {
                        "id": 7,
                        "value": "节点7",
                        "p_id": 6,
                        "children": []
                    },
                    {
                        "id": 8,
                        "value": "节点8",
                        "p_id": 6,
                        "children": []
                    }
                ]
            }
        ]
    }]
  • 数组L型输出
// L型输出
var arr = [

    ['1', '2', '3'],

    ['4', '5', '6'],

    ['7', '8', '9'],

];
// 输出大体顺序 1 4 7 8 9 2 5 6 3
  • 数组求排列组合
// 数组排列组合
var arr = [
    ['A', 'B', 'C'],
    [1, 2, 3],
    ['X', 'Y', 'Z'],
];
// 输出相似 A1X A1Y A1Z ...
  • 实现一个函数 find(obj, str),知足
var obj = {a:{b:{c:1}}};
find(obj,'a.b.c') //1
find(obj,'a.d.c') //undefined
  • 乒乓球比赛判断输赢(这个表达起来费劲,可是是个贴合实际开发场景的例子.不常见,可是不难)

这些是能回忆出来的部分,算法题广泛没有那么难,递归比较多,另外能用简单的方式就用简单的方式,这样才能凸显能力.面试

感悟和总结

  • 必定要避免相似面试官问你项目中遇到什么问题没,你说没问题都解决了这样的回答,基本必挂(网易二面经验)
  • 上面的面试题同一个问题会有不一样的表述,因此要认真审题,搞清楚问的知识点,避免面试官问在第三层,而你只答在第一层这样的事情,太拉跨(腾讯一面经验)
  • 找工做是个几率的事情,面试的次数多了就会中
  • 内推有时会可能会有意想不到的加持(面做业帮的体会)
  • 平常咱们要留意构建本身的基础知识体系,这样在面试准备准备的时候不用恶补太多基础知识

最后但愿在找工做的同窗保持心态,都能顺利找到理想的工做.算法

相关文章
相关标签/搜索