当前位置: 首页 > 面试经验 >

CVTE(视源股份)前端实习生笔试及一面二面凉经

优质
小牛编辑
92浏览
2023-03-28

CVTE(视源股份)前端实习生笔试及一面二面凉经

来一篇前段时间面的CVTE笔试和面经

笔试

大概是25道选择,2道编程题 选择题很多是闭包,变量提升这类让你选输出的题目,还有就是nodejs的基础等 不过我觉得HR筛选重心不在选择,因为我选择都不太确定,编程题做出来了,也过了,我推测就是编程题占大头。

不过这里要给想去视源的同学提个醒,视源的笔试一旦提交不能更改前面的题的答案,挺坑爹的,而且多选题和单选题混杂,编程题也没有OJ,只能纯写,有一点点语法提示和代码高亮。

编程题第一题

两个字符串s1=ABCD s2 = BCD 移动s1如DABC CDAB BCDA 判断s1是否包含s2 
这里我的做法就是用for移动字符串,然后用正则表达式判断,其实可以用数组的includes方法就更简便一点。。我搞复杂了。。

编程题第二题

输入rgba转十六进制,输入: rgba(255,255,255,0.4) 输出: ['#ffffff', '0.4'] 
这里我的做法是用正则表达式提取rgba里面的数字,然后把前三个数转换16进制,直接把0.4挂回去。。

一面

一面问了足足一个小时,几乎什么都问到了,搞得我二面都不知道准备什么了 先是自我介绍,然后就说了句从简单的开始,然后就开始了:

CSS

  1. 标准盒模型和IE盒模型

  2. 水平竖直居中的几种方式

  3. 两栏布局、双飞翼布局、圣杯布局

  4. 问我有没有用过饿了么组件库,我说用过,然后他给我问了个,怎么实现类似饿了么组件库的Toast效果。。我当时直接答了没了解,其实我感觉可以给他硬答一点,比如说动画啥的。。

  5. flex布局的属性,问了三种定位方式有什么不一样,我可能没答完整,加问了我一句,如果想要做一个客服一直固定在窗口右边的效果怎么做,我给他说用fixed定位。

  6. BFC(开启BFC的方式以及BFC特性)

CSS记得好像就那么多,好像还问了几个xx的实现方式,但是我答得不是很好,问的很多实现方式我没答上来。。cvte还是比较注重实现的。

JS

  1. 让我说了下Eventloop的执行原理 (这个建议去看视频或者找一些博主了解一下,我看的是这个视频,如何理解EventLoop?挺通俗易懂的)

  2. Promise的调用(我答了同步任务宏任务微任务那些)

  3. async/await 和 promise的关系

  4. 如果设置了一个定时器,时间到了是不是就会立刻调用(感觉是问重复了,当然是不会立刻调用啦,原因可以了解一下EventLoop↑)

  5. 在项目中有用到哪些ES6语法(箭头函数,set map,let const,promise,扩展运算符等)

  6. 展开ES6问了一下(箭头函数的this指向,let和var的不同之处,数组去重es6和es5的不同,扩展运算符的用途)

  7. 改变函数this指向的方式(call,apply,bind)

  8. call,apply和bind的不同

  9. 闭包(原理,还有它的弊端:内存泄漏)

  10. 原型和原型链

  11. 有没有用过什么排序算法,说说快排的实现过程

  12. 简单介绍防抖和节流

JS算是我比较擅长的部分,可能是这段答出来比较多,所以才有点加分吧。。我个人是感觉它问得挺基础的,没有往深里问一些原理,比如promise.all,new的过程,连防抖和节流怎么实现都没问。

一面编程题

来到一半突然说来道编程题,给了一个数据结构(一个树的节点),然后叫我写中序遍历 数据结构我忘了,直接放中序遍历吧,感觉这种只要上过数据结构课都能写出来。。
function inorder(root) {
    if(root.children[0]){
        inorder(root.children[0]);
    }
    console.log(root.value);
    if(root.children[1]){
        inorder(root.children[1]);
    }
}


完了他还问我算法的时间复杂度,我不知道怎么的脑子一热答了个O(n),其实是O(log2n),估计这里有点小炸。。

浏览器与网络

  1. HTTP1.X和HTTP2.0的不同

  2. 浏览器的缓存方式(强缓存和协商缓存),协商缓存的原理

  3. 突然问我如何实现异步处理后端返回数据(就是比如用户上传了图片,后端要异步处理,如何接收后端处理成功的信息),我答了轮询,他问我有没有更好的方式,我当时没找到,结束之后我去查了,可以用websocket。

  4. TCP和UDP的不同,三次握手的原理

  5. 有没有了解网络安全防御(跨域,XSS,CSRF),跨域原因以及解决方法,JSONP和CORS的不同,CORS有哪两种请求方式(直接请求和非直接请求),直接请求和非直接请求的不同。XSS和CSRF的不同以及防御方法。

  6. 有没有在开发项目的时候解决过跨域(我答了有,用的是Vue的proxy代理,这里没有深问,幸好没深问,我也不会。。)

这些就是典型的八股文内容了,不一定要用,但是必须得背。。

Vue

  1. Vue的双向绑定原理

  2. Vue的组件通讯方式

  3. Vue的生命周期及其应用场景(还举了些例子问我应该在哪些生命周期写代码)

  4. watch和computed的不同

  5. Vuex中action和mutation的不同

  6. 用过什么Vue插件

  7. vue-router的生命周期

Vue一般都是专门搞原理,有八股文,也有实际应用,反正就是要搞定。。 完了就结束了一面,我挺多没答出来,本来以为要挂了,结果第二天看见过了,还挺欣喜的。。没想到二面是个地狱。。

二面

二面甚至没开摄像头,听起来是一个很和蔼的人,面了大概三十多四十分钟 二面没有自我介绍,首先问了一下我的个人博客项目为什么要用Vue来做,这样会导致什么问题,我一开始答Vue和React的不同,HR说他想问的其实是,Vue可能会导致SEO的问题,作为一个个人博客网站应该要加大搜索引擎的关键词出现率,我说我确实没考虑到这一点,但是我了解了可以***来解决,我也正在进一步学习中。然后面试官还比较满意,并且让我可以多了解一下***方式。

然后噩梦就开始了。。

问了我HTTP1.X和HTTP2.0的不同之处,我以为又得背八股文,我就说二进制分帧,头部压缩,多路复用。然后他问我,知道HTTP1.X是什么分帧吗,知道二进制分帧和普通分帧的区别吗,知道二进制分帧是怎么个分帧呢,我。。。

然后就是,头部压缩的原理,我。。。

然后就到多路复用,问我多路复用的TCP连接数,这个我看过!终于答了一点,然后他就问,那我考你一个问题,一条TCP连接,需要多少带宽?我答不上来,他还给我提示,说让我答出和什么变量相关,我。。。。。。

然后HR还很贴心地说,没事,你才大三,还有很多机会能学习, 然后就给了我一道编程题做,是写一个洗牌算法,大家可以做一下:
/**
实现洗牌算法函数shuffle,给定一个数组[0,1,2,3,4,5,6],每次随机抽选数组的n个值,连续抽选不重复已经抽选的值,直到数组抽完,在进行下一轮循环。

示例1:
var random = shuffle([0,1,2,3,4,5,6]);
random(1); // [1]
random(1); // [0]
random(1); // [2]
random(1); // [3]
random(1); // [5]
random(1); // [4]
random(1); // [6]
random(1); // [3]

示例2:
var random = shuffle([0,1,2,3,4,5,6]);
random(1); // [1]
random(2); // [0,6]
random(1); // [2]
random(4); // [3,4,5,2]

**/

  function shuffle(arr){
    return function(count){
      // to do 
    }
  }
  
  const arr = [0,1,2,3,4,5,6];
  const random =  shuffle(arr);

random(1); // [1]
random(1); // [0]
random(1); // [2]
random(1); // [3]
random(1); // [5]
random(1); // [4]
random(1); // [6]
random(1); // [3]

random(1); // [1]
random(2); // [0,6]
random(1); // [2]
random(4); // [3,4,5,2]

这道题我很顺利做出来了,然后HR也没说什么,直接再给我下一题,是道概率论题目: 一个班里有50名学生,有两名学生同一天生日的概率?

我给他说了思路:一名学生一年里有一天生日的概率是365/365,第二名学生不重复的概率是364/365,第三名学生不重复的概率是363/365,以此类推。。然后用1减去这些概率就可以了。 然后他问我,能大概推算答案是多少吗,我说不知道,他说大概给个数,我因为以前看过这道题,给了97%,然后他问我怎么猜出来的,我真不知道。。。然后他说那就先到此结束吧。。他说大概在两到三天内有面试结果,结果当天晚上就给我挂了。。惨~

不过也是一次奇妙的大厂面试经历,作为只面过三次面试的我能走到大厂二面,其实也是挺欣慰的,当做对自己的磨练吧,再接再厉,勇往直前!

#广州视源电子科技股份有限公司##cvte##前端面经##前端开发实习生#
 类似资料: