阅读 987

2020疫情结束我的三月前端面试之旅 | 掘金技术征文。

2020年的开年显得格外的不顺,因为疫情的关系,我是湖北的,过年封城前就回去了,然后就在家整整呆了两个月,门都没出一下,直到三月中才慢慢开放能出城,中间来深圳做了核酸,隔离了三天,深圳出政策了,有绿码的可以不用在隔离了,中间零零散散面试了十几家,因为湖北的关系也碰过壁,但大部分公司都还是挺友善的,写下这篇文章,是因为昨晚从公司出来在地铁上遇到一个跟我年龄差不多的女生,手机里在的刷着boss直聘,神色有点不好,跟我刚到深圳的时候很像,所以写下这篇文章算是我疫情后深圳生活的一个记录,也给即将要面试的同志们一点参考。

一.面试渠道

boss(主要),拉钩(招聘的都是狠人,大多都是南山的),智能招聘,前程无忧,后面两个基本就是海投的,但我入职的还是智能招聘找到的

二面试的技术部分

技术栈node,vue,小程序app这些主要用uniapp开发 就说我影像比较深的吧,比较简单的就不列举了,因为我最近两年都是做移动端的,大部分都是针对于移动端的

css的

一.opacity: 0、visibility: hidden、display: none 三者有什么区别,什么情况下用那个比较好

display: none (不占空间,不能点击)(场景,显示出原来这里不存在的结构) visibility: hidden(占据空间,不能点击)(场景:显示不会导致页面结构发生变动,不会撑开) opacity: 0(占据空间,可以点击)(场景:可以跟transition搭配)

二.一个盒子的水平,垂直居中

1.定位50%

2.flex布局

3.margin:auto;
复制代码

三.在移动端如果还进行多端跨平台适配(小程序,app,h5这些)

1.rem适配
2.flex布局
3.简单的页面可以直接使用绝对定位直接固定在相对于的位置
复制代码

四.如果定义一个导航组件,如果适配刘海屏

因为我做的小程序和app比较多,一般使用uniapp,使用uni.getSystemInfo(OBJECT)或者微信的wx.getSystemInfo(OBJECT)来获取它的手机的一系列信息比如手机型号,屏幕高度,屏幕宽度...最主要的是它返回的数据safeArea在竖屏正方向下的安全区域,根据这个来动态设置style样式

五.如何实现中文段落和英文段落,在二十个字体或英文二十个单词后面的都显示省略号

js

1.最常见的就js的闭包,原型原型链,然后es6的一些新特性,这些网上面试题都写烂了的
然后最有印象的就下面的这张笔试题
复制代码

算是比较基础的,但很多不看都忘记了,我很多都没答对,所以拍下来了

2.(a ==1 && a== 2 && a==3) 可能为true吗
    别的语言我不敢说,但js确实可能
    const a = {
      num: 0,
      valueOf: function() {
        return this.num += 1
      }
    };
    const equality = (a==1 && a==2 && a==3);
    console.log(equality); // true
    有兴趣可以网上详细搜索一下

3.map加parseInt的题目

4.new的实现过程,或模拟一下new
    1.创建一个新对象
    2.把这个新对象的__proto__指向构造函数的prototype属性
    3.把构造函数中的this上的属性全部添加到新对象
    4.返回这个新对象

5.写一个函数,然后输出一个文件的后缀名
    这个主要是我考虑的不完善,先把字符串颠倒,获取它最开始一个点的内容,
    但我没考虑没有后缀名的文件需要判断...
复制代码

VUE

1.你是怎么理解mvc和mvvm的

2.Vue 中,子组件为何不可以修改父组件传递的 Prop
    简单点说就是一个父级下不可能只有你一个子组件, 如果每个子组件都能修改prop的话,将会导致修改数据的源头不止一处。
    所以我们需要将修改数据的源头统一为父组件,子组件像要改 prop 只能委托父组件帮它。从而保证数据修改源唯一
    
3.v-if和v-for那个优先级高,如何优化
    官方的文档已经说的很清楚了[vue](https://cn.vuejs.org/v2/guide/conditional.html#v-if-与-v-for-一起使用)
    
4.你平时都有使用哪些vue的开发技巧
    这个我理解的就是证明一下你vue使用的很6推荐一篇文章[7个有用的Vue开发技巧](https://mp.weixin.qq.com/s/NWohQ5CijoggmidcM8s-ew)
    
5.双向绑定和vuex的问题
    这个我就说的VueX规定了单向数据流 官网也说的很清楚[vue](https://vuex.vuejs.org/zh/guide/forms.html)
    
其他的一些可能我答得比较好的,印象不是很深
复制代码

你开发小程序或者vue/uniapp有哪些优化技巧

1.不在dom里面绑定的变量不用在data里面定义
2.防抖节流
3.图片懒加载
4.避免使用大图
5.多使用字体图标来代替图片
6.优化数据更新 比如长列表的
7.uniapp下开发app的话可以使用nvue代替vue页面
8.减小包的体积这些最基础的
9.不要在v-for里面在嵌套v-for这些的
10.骨架屏这些
复制代码

http

关于tcp的三次握手啥的就不说了,我说一次死一次,还是去看看网上的
说一点平时遇不到的吧比如:
1. 30开头的状态码是什么意思

301:永久重定向;比如http => https
302:临时重定向;比如用户没有登录然后跳到登录页这些

2. 507错误遇到过吗,知道是什么吗?

50开头的都是服务器后台报错,507是服务器的数据库报的错,比如一个字段限制的200,然后超出了
复制代码

三 经理或HR的面试

这种的主要是考验你的稳定个个人的职业素养这方面,往好的方面说,但也要实事求是,我总结了一下我遇到的,可以参考准备一下

1.你为什么从上家公司离职(基本必问)

2.你对我们公司有什么了解

3.你开发中(或上家公司)遇到过最难的问题是什么?

4.你对未来有什么规划

5.你对公司有什么要求

6.你对同事有什么要求

7.遇到最奇葩的,问我有没有女朋友的,可能是996加班的时候怕女朋友找你吧???

上面大概是我遇到的一些问题,真实的肯定不止这样,各种问题都可能有,指定一点,
往公司方向靠,把自己好的一面展现出来。
复制代码

结果

面试十几家,总共收到的offer大概有七家左右,但其中有四家都是996的,其中一家说晚上加班晚的话还有餐补!!!(我当时人都惊了)工资还给你压了一点,说转正看绩效给你加,如果不想考虑996的在问的时候就要问明白,不然又是浪费你几个小时的时间。

最后入职的这家当然是双休,加班有车补,餐补的啦,对于简历的投放建议: 在深圳主要以boss为主,然后前程无忧,智能招聘海投,拉钩看着点,面试的都是牛人。。。然后猎聘的话不是很推荐,上面虽然也有,但我遇到的都是让你去东南亚,迪拜的,而且大多都是棋牌的。慎重考虑,东南亚小黑屋警告!!!