2.27笔试
全程视频采集,比较坑的一点:一道题就是一个页面,提交了这一题之后才能看到下一题,而且不能回头再检查前面做过的题目,所以交了之后是没法修改答案的。
题目类型可以参考这个链接: 别人整理的2018cvt前端笔试题.
链接里没有提到的考点还有:
- nodejs npm命令
- nodejs自定义事件
- constructor,prototype区别
- promise机制
- es6新特性
- BFC相关
晚上19:00点开始,总共90分钟,25个选择(多选+单选)+2道编程
个人觉得选择题虽然说大部分都是基础题,但是对于我这种第一次笔试的菜鸡来说难度还是挺大的,多选题占三分之一左右,单选题三分之二,所幸编程题比较简单。
- 对数字进行排序,要注意到sort()对数字排序的坑,它会把数字变成字符串,然后按字符串中字母顺序依次比较,要自己写一个比较函数,可以参考下面这个链接: js中sort()数字排序问题
- 字符串替换,把一个url字符串中的参数替换成给定的值,应该是要用到replace()方法和正则,题目具体是啥忘了……
PS:笔试平台没有运行调试的功能,不知道他们后台是不是人工测评……所以你写的代码尽量要可读性好些
3.15一面
一面是查到笔试通过的一周之后在牛客网上视频面试的,时长一个小时左右。
说实话,一面感觉自己表现得相当糟糕,可能是因为太紧张了(面试前几天还失眠来着…),说话有点词不达意,好些题目应该都没讲到面试官想听到的点上,后面手撕代码的时候还有一道题写错了基础语法,应该是必挂无疑了。
先是一段简短的自我介绍,问了一下学习前端的经历,然后很快进入了正题,先是大概十几个前端基础问题,然后是三道代码题,最后是问我以后有什么学习规划以及还有什么问题。
能回想起来的问题有:
- html垂直/水平居中的方式
- 外边距重叠
- BFC
- flex布局
- 浏览器兼容问题
- 对闭包的理解
- 原型链的理解
- http状态码
- 缓存的方式(cookie,session,localStorage等)、种类(强缓存协商缓存)
- 跨域问题解决方案
- Vue、React等框架是否了解?(MVVM和MVC的理解)
- es6新特性(箭头函数,let,const等等)
- apply、call的区别
手写代码题
1.防抖机制
2. 原生js实现继承
3. 字符串中找到第一个只出现过一次的字符,会问时间复杂度以及优化方案
总结
本人目前大三,软工专业学生,cvte是我投的第一家公司,但经过这次笔试面试真情实感地感觉到了自己基础知识的薄弱,简直是拉低学院平均水准……但是对以后的学习也指明了一个方向吧
1.基础知识一定要坚实!面试官最后也说他们招实习生看的其实是基础和潜力,框架会不会还是其次
2. 不会的就老老实实说不会吧…胡说八道可能反而会让面试官对你的印象大打折扣
3. 面试之前多看看别人的面经,找到准备方向,而且越早准备越好,面试时间顶多提前1~2天告诉你
不管怎么样,这都是一次宝贵的经历了,之后准备再面几家别的公司试试水,希望每次面试都能有所成长吧