记录自己社招前端面试的一些问题

这两天总共面试了7家公司,昨天拿到了外包offer,当天面完,晚上6点左右就通知我了,我也可能会拒绝,但毕竟现在经济不景气,找份工作不容易。决定的事情就没什么好后悔的了,接下来好好加油吧。
记录一下我觉得回答不上来和卡壳的地方,都是很基础的。

一:
Q:在webpack中对与babel的配置有什么需要注意的地方?提示(babel版本),最新babel版本是多少?
A:Babel主要对ES6/ES7/JSX进行编译,安***abel7.x和babel-loader8.0,之后所有安装的babel插件都需7.x,版本7.x(@babel/)和6.x版本在插件名上还是有所差别;babel最新版本为7.x

二:
Q:如何监控一个对象的变化?列出你所知道的所有方法,包括vue
A:
1.vue中:
-.computed通过自定义get和set;
-.通过wtach去监听一个对象
2.通过ES5中的defineProperty(target, key, {})进行数据劫持,监听getter和setter
3.通过proxy***,new Proxy(target, handler),其中handler内可以进行自定义get(target,key, receiver)和set(target,key,value, receiver)操作
4.通过古老的方法,在对象的原型__proto__下去进行监听变化,内部提供了getPrototypeOf, setProperty等读写操作,操作实例对象(读写),监听__proto__属性上的变化

三:
Q:一段字符从后台动态返回,长度不确定,要求显示一行就居中,两行就左对齐,三行就结尾显示'...'
A:
提示可以使用多个标签,可以使用div>span*3, 可以外部div设置text-align:center,span自己设置text-align:left,多行文字超出显示:
display: -webkit-box;
over-flow: hidden;
text-overflow: ellipisis;
-webkit-line-clamp: 3

四:
Q:在平时工作中,对图片是怎么处理的,比如不同的屏幕大小,在不知道屏幕高度的情况下,如何让图片完整居中显示?
A:可以通过宽度自适应,计算图片的高宽比率,然后设置padding百分比(padding和margin的百分比都是根据父盒子宽度来计算的),例如padding-bottom:130%

五:
Q:vue中使用element-ui进行组件二次封装,自己封装的组件是如何使用原生组件的方法和属性的?
A:通过$listeners何以获取父组件内监听子组件的所有时间 ,$attrs可以获取所有父组件传到子组件上的属性,同时还可以通过v-bind="$attrs"和v-on="$listeners"继续传递和监听,子组件(自己封装)下继续引用子组件(原生组件)

六:
Q:使用正则截取html中的img的src,使用正则匹配空格,使用正则匹配手机号(18和19)
A:
  1.img的src:
    const imgReg = /<img.*?(?:>|\/>)/gi  //匹配img标签,
    const srcReg = /src= [\'\"]?([^\'\"]*)[\'\"]?/i;  //匹配所有的src
    let arr = htmlStr.match(imgReg);
    for (let i = 0; i < arr.length; i++) {
    let src = arr[i].match(srcReg);
    //获取图片地址
      console.log('图片地址'+(i+1)+':'+src[1]);
     }
  2.正则匹配空格和手机号
    空格: str.replace(/\s+/g,"");
    手机号:var regPhone = /^(1[8|9]\d{1}[*|\d]{4}\d{4})$/
    空格分隔手机号:
    var number = '13898794564' //手机号 这里必须写成字符串格式
    var test = /^(\d{3})(\d{1,4})(\d{1,4})$/  //这里是3个表达式,第一个表达 式(\d{3})匹配的是3个数字,第二三都 是1-4个数字
    number.replace( test ,  '$1 $2 $3' );//这个$1表示的是第一个表达式匹配到的字符,中间直接用空格分割

七:
Q:输出一个5-10的随机数?,求一组数中大于5的数,求一组数中的最大数
A:
 输出5-10随机数:
    function RandomNum(Min, Max){
    var Range = Max - Min;
    var Rand = Math.random(); 
    var num = Min + Math.round(Rand * Range);
    return num;
  }
  RandomNum(5,10);
  求一组数中大于5的数:
    let arr = [11, 3, 5, 1, 2, 14,56]
    arr.filter((item) => item >= 5)
  求一组数中的最大数:
  1.原生循环比较;
  2.Math.max.apply(null, arr)

八:
  Q: Ajax对象readyState的5中状态代表的含义?
  A:
      0:初始化,XMLHttpRequest对象还没有完成初始化
      1:载入,XMLHttpRequest对象开始发送请求
      2:载入完成,XMLHttpRequest对象的请求发送完成
      3:解析,XMLHttpRequest对象开始读取服务器的响应
      4:完成,XMLHttpRequest对象读取服务器响应结束

九:
Q: 一般网页都有页面切换动画,前进和后退不同,这个是怎么做到的(怎么监听前进后退操作)?
A:pushState和replaceState为H5新增的history放法,window.onpopstate可以监听前进和后退操作
#社招##前端工程师##面经#
全部评论
感谢分享面经!欢迎参加过社招的牛友发社招面经拿京东卡!~ -------------------- 活动:社招面经征集|参加过社招的牛友,来发面经吧,拿京东卡
1 回复 分享
发布于 2019-12-02 14:15
外包就慎重一下吧,能不去就不去
点赞 回复 分享
发布于 2019-12-02 12:19
社招哇
点赞 回复 分享
发布于 2019-12-02 12:26
大厂外包吧...山大学校还行呀
点赞 回复 分享
发布于 2019-12-03 12:22
啥外包?何必去外包。。。你记的这些是你答不上来的吗?
点赞 回复 分享
发布于 2020-01-13 12:18

相关推荐

昨天 21:28
已编辑
南京市金陵中学 C++
最后以华为13级这个并不那么满意的offer结束支离破碎的秋招。bg:本硕双9电子信息类,非计算机,论文只有一篇ei会议。秋招目标:私企(问就是亲眼所见国企关停)转码前:研一时虽然大部分师兄师姐在转码,但是各种渠道渲染我们的专业很强,当时的想法是不转码肯定能找到满意的私企,然后拿本科毕设投了个ei会议,并开始自己找课题研究(导师放养)。研一下找到方向,研二上在仿真和写论文的时候开始意识到形势不好,越来越多的学长学姐申请华为的对口职位流程挂或只有个别勉强拿到offer,在萌生转码的念头时论文写到一半,于是决定论文写完再转码,觉得论文对找工作有用(现在来看对找开发的工作作用聊胜于无)。论文写完已经是12月中旬,一次次找导师改收到的是一次次拖延,直到3月份一个字没改让我投顶刊我才意识到这一年半的努力在秋招时不可能再转化为成果了。一个408只学过计算机网络,语言只学过c++且期末也只是刚及格的牛马从12月底才开始了转码。转码:算法卷院校卷顶刊没戏,只可能转开发,由于很多学长学姐都转码拿到华为的offer,难度不高,所以我最开始的目标是通过c++技术栈拿下华为并尝试互联网后端。零基础一切都要现学,所以就先从数据结构、操作系统、算法题这些开发类必备的知识学起,寒假开始刷力扣,当时根本不算是刷题,全是在看题解,印象很深刻的是第一题两数之和折磨了我一下午。三月刷力扣+背408八股,到三月底听计算机的同学说暑期实习后端卷麻了,相反前端今年相对简单,经过几天的考虑,最终决定两线作战:前端和c++,此时认为华为能稳稳作为保底。四月9106匆忙学了html+css+js,五月学了vue就去投实习了,b站腾讯阿里国际美团滴滴给了面试,但只有美团到了终面,结果还因为过于紧张以及没经验说错了话,与offer失之交臂。五月剩下的时间为华为准备了一个c++开源项目,六七月学react并准备了一个前端项目。本来的梦想是秋招签阿里等华为,然而噩梦就要开始了。秋招:先说结论吧,眼高手低,互联网一个都没拿到,老本行拿到某雷达所,前端拿到体面厂和性价比厂,c++拿到某学历厂、华子外包、迪子和两个通信大厂,两个前端base一个杭州一个南京,总包都不到25,c++的几个里华子外包和迪子base深圳,另外三个base上海且薪资降序。八月九月上旬集中投递前端岗位,每天都在笔试测评,但给面试的只有美团京东淘天,美团终面面试官百般刁难,甚至拷打前端发展历史这种问题,寄了之后美团再没捞我,必然是脏了面评,京东一面hr面,拷打我本科成绩和无竞赛奖项,直接寄,淘天二面挂。然后九月中旬发现互联网希望渺茫,慢一步投递了c++相关岗位,华为线下面试一天速通池子后拒了研究所的oc,抱着华为稳了的想法准备结束秋招,结果几天后问面试情况被告知面评非3A。这最后一根稻草压垮了996半年的我,整日的emo和严重的焦虑导致我不停的胡思乱想,加上那几天我的室友和我同一时间投递的三家都有进展甚至oc而我没有任何进展,我在发呆焦虑迷茫中度过了那一周。而一周之后算是有些好消息,开始有offer了,至少不至于毕业即失业。为了给华为留一线生机拒了最早来的一家(听说华为不等这家毁约),体面厂在接受意向后,华为在经过一系列沟通后告知可以给offer,因此未签三方,性价比厂oc后紧接着收到华为通知报批通过,接着就是现在华为第一批开奖了。总结:看着现在同学没有杂七杂八想法单一技术栈allin华为oc14甚至15级很不甘心,回想起来我可能在每个节点都做错了选择:在研一时不做充分调研就对不转码找工作过于自信,不该在只有几个月时间准备的情况下开辟第二战场转前端,不该在找不到暑期实习后还继续梭哈前端,不该在互联网全线溃败时面试华为导致面试官觉得我不够自信……太多的错误导致了这个结局。看好华为的平台以及去上海的意愿让我最后做出了接受13级的选择。回顾这接近19年的学习阶段,我总是在尝试向上卷:中考和全市人竞争重点高中,高考和全省人竞争985,考研更是千军万马过独木桥。我卷进了重点高中,但是我的努力收获的是高三一次比一次差的成绩,高考我考了一个高三从未考到过的成绩,曾经我认为这才是我的真实水平,但是现在我觉得我错了,本科时我卷不过同学,花费几倍于别人的努力却只能勉强达到差不多的水平;考研初试我靠着接近一年的995才收获高分,而准备同样时间的复试我就远远落后于别人;花费同样的时间在科研上也不能获得与别人差不多的成果。曾经我也自命不凡,但我现在意识到自己就是个平凡到不能再平凡的人,我的努力在命运面前仿佛沧海一粟。借用自己很喜欢的一首歌的歌词来结尾吧:“难以释怀的&nbsp;让时间冲淡&nbsp;至少我还在期盼。”希望工作顺利,希望生活如意。
牛客220859485号:唉,加油吧老哥,硕士拿13已经很吃亏了。感觉老哥是选择做错了,卷一卷java去互联网后端没问题的,华子也不是只收c++。all in C++是把路走窄了。
点赞 评论 收藏
分享
11-27 12:36
已编辑
门头沟学院 前端工程师
Apries:这个阶段来说,很厉害很厉害了,不过写的简历确实不是很行,优势删掉吧,其他的还行
点赞 评论 收藏
分享
评论
4
20
分享
牛客网
牛客企业服务