首页 > 富途社招前端面经
头像
跪求个offer
编辑于 2020-03-11 20:14
+ 关注

富途社招前端面经

富途也是投递了以后很快有反馈的一家公司。这里记录一下一二面。

一面基本没什么难度,二面就emmmm


一面

0、自我介绍

1、讲讲es6有什么新特性?用过哪些?

2、讲讲csrf、xss攻击

3、vue的双向绑定的原理?

4、http缓存有哪些?

5、为什么vue里面,组件的data需要返回一个函数?

6、箭头函数和普通函数的区别?

7、用过webpack吗?在项目中怎么配置?图片文件需要怎么配置?

8、编程题:

1)实现一个fibonacci函数,输入数字n,输出fibonacci数列的第n项数字,并给该函数加入缓存功能。

这里用动态规划来实现会简单一些,但是题目要求有缓存功能
function fibonacci(n, map = {}){
if(n == 1 || n == 2){
map[n] = 1;
return 1;
}
if(!map[n]){
map[n] = fibonacci(n-1, map) + fibonacci(n-2, map)
}
return map[n];
}

2)给定一个字符串str,只会出现{}()[]这六种字符,请实现一个函数isMatch(str)判断这个字符串中的括号是否是匹配的。

例如以下字符串均为括号匹配的:(){{}[]} {}([])

以下字符串不为括号匹配: ({} ([)[{}

这题用栈的思想很容易解
function isMatch(str){
let stack = [];
for(let i=0;i<str.length;i++){
if(str[i] == '(' || str[i] == '{' || str[i] == '['){
stack.push(str[i])
}else if(str[i] == ')' || str[i] == '}' || str[i] == ']'){
let target = stack[stack.length-1];
if(
target == '(' && str[i] == ')' ||
target == '{' && str[i] == '}' ||
target == '[' && str[i] == ']'
){
stack.pop();
}else{
return false;
}
}
}

return !stack.length
}

3)实现一个函数,返回一个n,m的随机数。

Math.random,要注意的是Math.random返回的是0到1之间的随机数,包括0但是不包括1。


总结:一面真的非常基础也非常简单,编程题也不难,问答题像vue的原理面试官也没有深入去问,貌似是对着题目列表来问的


二面

二面问的很广,有逻辑题、语言题、程序题、设计题、程序填空题。。。一度以为自己在做大学期末考卷


由于面试官要求,不能把真题发出来,我就简单地说一说= =


逻辑题顾名思义了,面试官会追问原因,以及让你计算概率


语言题就是给你一个场景,问你如果让你设计一个类你会怎么设计,然后给你另一种设计方法,问你为什么这样设计不行


程序题就算法,给定时间复杂度、空间复杂度,让你口头给一个解决思路


设计题,给你个场景,让你设计一个api需要的参数


程序填空题,给个场景,给出程序的大体思路,里面有几个判断让你填空。填完以后面试官会问为什么要这么填


总结:说实话二面还蛮无语的,面试总时长两个小时,面试官一边自己敲代码一边从题库里面抽题让我做,比较好的一点是这个面试官会一步步引导你

更多模拟面试

全部评论

(5) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐