富途前端社招一面

  1. 自我介绍

  2. 项目里说到的自定义指令,说了一下过程

  3. CORS跨域-介绍一下跨域原因?解决跨域的方法。说了jsonp、websocket、cors、代理。问了平时使用哪种?说开发代理,生产cors

  4. 关于js事件循环的输出题,涉及:async/await、promise、setTimeoout,问了步骤,又问了了解node不?说不熟悉就没有继续出题(关于node的执行输出题)

  5. 经典输出题: ['1', '2', '3'].map(parseInt) // 1 NaN NaN 问了原理

  6. 问async、defer的区别,继续问页面解析渲染的流程,出一道html文件,问解析的流程,问css加载是否阻塞解析、问js执行是否影响到cssom树的构建

  7. 平时用到的判断类型的方法,回答了 typeof + Object.prototype.toString().call(obj) 来判断

  8. XSS怎么防御?回答了转义字符以及csp

  9. CSRF是什么?回答提到了cookie被第三方携带,追问cookie怎么做防护?回答samesite属性设置strict。csrf还有其他防御方式吗?回答get请求不修改数据与请求时附带验证信息比如token或验证码,又问token是如何做验证?回答了大概过程最后放在请求头自定义字段里

  10. vue的父子组件模拟双向绑定数据,其实就是 .sync与emit来实现,提到了vue3直接v-model:name+emit,被追问2、3的v-model有什么不同,答不上来

  11. vue的mixins的合并优先级,说到有同名以组件优先,又问生命周期钩子里的合并规则,说也一样。感觉这个不够熟悉得加强

  12. vue一道题,大意是:一个组件上绑定的属性,如何实现渲染的时候这些属性绑到组件内的元素上?回答说用slot,把内部的内部的元素作为插槽写,又问还有没有其他方式?回答说子组件用props接收,组件内将这些值再绑到内部元素上,面试官回答说这也是一种方式。然后就说下一道题

  13. 算法题1:判断有序数组是不是另一个的子集,特别:只要父数组有的元素,子数组有多个也可以算,如:a = [1], b = [1, 1], b也算是a的子集。

一开始用map,先遍历存a元素,再遍历b,问我复杂度是 时间O(m+n), 空间O(m) 问为什么是m+n和m

问怎么优化到时间同样O(n), 复杂度O(1), 提示我有序,想到了双指针写出来

  1. 面试官说额外加的一道:斐波那契数列,实现缓存。

刚刚写出来有点问题还没整理,他就提示我说问题在哪

  1. 反问:问技术栈,问node,问业务

全程1h15min

个人感觉:

基础面

有些地方自己补充说了一些,但是说的不好,感觉扣分;

面试官人很好的感觉,说话很温柔(男);

似乎是有个题目清单来问的

#富途一面面经##春招##面经##前端##社招#
全部评论
有过一面了吗?
点赞 回复 分享
发布于 2022-04-09 22:51
请问下楼主是几年经验前端呢,好厉害
点赞 回复 分享
发布于 2022-04-14 17:12
我也面了。。基本都能答出来,唯一的瑕疵就是http缓存那里,问我last-modified和etag怎么搭配使用,。。我没做过这需求。。然后就被说实践能力没那么好。。没下文了
点赞 回复 分享
发布于 2022-05-02 18:56
楼主有社招八股文推荐吗
点赞 回复 分享
发布于 2022-05-08 02:57
我靠,我三年好多不会
点赞 回复 分享
发布于 2024-06-23 05:52 北京

相关推荐

2024-12-06 20:59
中山大学 前端工程师
现在秋招已结束,整理发一些面经笔经,回馈一下牛客社区。2024.10.14感觉今天三七互娱的面试是我面试过感觉最良好的,面试官不但引导我放松下来,而且时常鼓励我。三七互娱保持和之前一贯的面试风格,只有不到一半是专业知识,然后剩下的都是问的软实力。一开始问我自己的东西,自我介绍,自己的优势和劣势等。问的专业知识都是比较高层的:1.CSS选择器 2.为什么要有这么多种类的选择器? 3.如果有的样式不生效,你会怎么解决? 4.在浏览器输入url到返回页面,这个过程是怎样的? 5.如果返回的页面空白,可能是什么出现了问题?要如何解决?  6.如何解决跨设备的兼容性问题? 后面又是问一些大的东西,比如就业规划什么的。最后是让我问问题,我问的是三七互娱是做什么的,是做什么方向的游戏。面试官说三七互娱是做“重度”游戏,有两类游戏不做:一是休闲类游戏,二是腾讯类游戏(主要是竞技类游戏)。最后面试官给了我一些反馈和点评:一开始自我介绍的时候比较拘束,处于“正襟危坐”的状态,后面讲到创业的时候就放得比较开,还做了一些手势。面试是一个双选的过程,可以放松下来,这样会更好。反思之前的面试,感觉我确实在面试的时候过于拘谨了,没有体现出年轻人的热情,后面的面试要尝试改进一下。
查看9道真题和解析
点赞 评论 收藏
分享
2024-12-07 17:17
已编辑
门头沟学院 Web前端
省流:无八股,四十分钟项目输出,二十分钟笔试题 + 反问面试体验最满意的一次,虽然开头细细的讲项目细节导致节奏有点慢了,只讲出了两个核心,还有两个核心没讲,但面试官很耐心的听完并跟我确认上下文细节,下次继续优化- 自我介绍- 挑一个简历上最值得讲的项目开始表演  - 背景介绍(某游戏 mod 开发组前端成员,主要负责一些页面制作宣传的需求,后期组内其他成员提出 wiki 制作需求,开始了调研之旅)  - 主流 wiki 框架(语法晦涩难懂,开发者需要时间去学习成本;使用 mdx 可以无压力上手 + 需求/问题快速沟通解决;Astro 我有实践经验,阅读过核心 api 源码,知道底层实现与扩展/局限性)  - 反问了一下这个项目什么时候开始做的:第一版落地时间周期(去年5月调研,7月开始第一版开发,9月落地,到12月前长期维护 + 新功能上线)  - 第一版落地后遇到的问题(项目结构混乱,非业务核心代码与核心混在一起,网站无法进行复用)  - 解决方案(采用 monorepo,重新梳理整个项目业务核心逻辑与周边生态逻辑,进行归类划分并确定职责和要暴露的接口)  - 成果(项目职责分离(解包,语法检查,wiki 核心,组件库,针对不同 ide 的检查适配器)对整个项目有了个更好的认知,知道整个项目的进展和状态)  - 带来的新问题(此时已经半小时了,面试官让我挑2点最大的问题(不同包之间没有权限区分;一些历史遗留插件没法及时迁移,付出了一定开发成本)其实这里可以讲一下代码复用,参考了 Astro Starlight 项目落地后发现全局 Astro 特性被局限至仅 集成暴露 api;部分 api 使用后效果不一样(Astro 官方给出了解决该问题的实验性特性))- 网站访问量多少(不多,算是技术能力锻炼产品和圈子内的服务用产品)- 是不是 minecraft 的发烧友(还真是,高中就喜欢玩珍珠炮,并且从里面开始接触到编码解码概念和一些二进制理论)- 笔试  - 版本号排序(后续讨论了一下健壮性和 plus)  - Promise.all 实现  - 写一个后台管理系统的侧边栏组件,伪代码即可(顺便聊了一下 vue compiler 的 props 宏展开)  - 本来还有第四题,面试官说不用了,直接开聊(以为会问 Promise 顺序,他说他不喜欢考这些,然后聊了一下 Promise 内返回 Promise 的问题,涉及到 v8 以及 ecma resolveThenableJob 规范,不过面试官似乎不是很了解这里)- 反问  - 我需要提升的地方(计算机四大件别丢了,讲的很认真)  - 部门主要技术栈(react,然后就是要了解一点 node,不用做开发,nginx了解即可,吧啦吧啦的,后续忘了)  - 新技术会用吗(会做研讨会和研究,不过更多是基建部门负责,他们会看手册学习并尝试在小项目落地)  - 主要业务(搜索中台,技术 + 业务结合部门?面试官好像一时也没法彻底讲清楚)  - 部门压力大吗(不算大(真的吗))  - 入职要注意的事情(需要两个月进行磨合,因为有些事情可能没有给到完整上下文就让你做,需要自己翻手册或找 mentor 问,流程清楚后就轻松了,后面一堆不记得了)  - 转正?(会给,但是看分到的名额,说25届留了两个实习生,刚好两个名额就全给他们了,然后细细的讲了一下转正前会给你的各种通知和要做的事情)  - 就面试来说有啥需要改进的地方(笔试侧边栏组件你可以做的更好点,抽象级别可以更高点,加强一下基础框架学习使用)体验最好的一次,唯一的遗憾就是讲细节太多了,还有一些核心没讲出来。其他我都很满意,1 小时后收到了三面时间选择通知许愿三面能遇到像这样体验这么好的面试官
查看16道真题和解析
点赞 评论 收藏
分享
2024-12-07 10:21
中山大学 前端工程师
10.29看到了4399面经提到了redux,故搜索了一下。https://cn.redux.js.org/感觉它的作用和Vuex差不多,但是应该更强大一些。面完了4399,感觉有点像kpi。感觉还是虾皮信息的面试官更有水平。不过仔细思考一下,4399面试官只是说话比较委婉,其实还是有强大实力的。不过在面试中,我还是发现了自己的一些不足,现在来复盘一下(4399一面):先是自我介绍然后问了一些项目和我个人学习前端的路径。在学习方面,我一般回答看MDN文档和bilibili。现在我发现教材也是一个很好的选择,感觉它是更成体系的。项目没怎么挖,直接就开始问八股了。问的八股和网上的面经没差多远,不过面试官发现我答得不对或者有点偏,会稍微提示一下我。for...in...和for...of...的区别? 我大概答了一些,不过漏掉了一点:for...in...遍历返回属性名,而for...of...遍历返回元素值深挖了for...of...遍历对象,说怎样才能用for...of...遍历对象?我一开始回答用keys()或entries()来遍历对象,面试官说这不是直接遍历它。然后我悟到这应该是考察JavaScript的可迭代对象,也就是我也可以把一个对象按照迭代器协议要求,把一个对象改造成可迭代对象,这样就可以迭代了。for...in...遍历Map会怎样?Map的key可以是任何类型,那for...in...是不是返回任何类型的key?   我当时乱猜确实可以返回,后面试了一下,发现for...in...并不能遍历Map的keys(完蛋)。看来Map和Array的区别我没有搞的太清楚。还有一个关于Node的,让我十分难受,不过Node确实是我的盲点,后面要把这块补上了。面试官:有没有了解Node? 我:不是很了解,没用过node开发。面试官:你能不能讲一下  Node的事件循环和浏览器的事件循环的区别?我:....... 我不是很了解,那我猜一下吧。node更多应用场景更多在服务端,node可以直接用cluster开多线程,所以它的事件循环应该会有所不同.......(好吧,我编到这里实在编不下去了)commonJS和ESModule有什么不同? 我答了同步异步,还有导入采用引用还是复制和兼容性的问题。这部分深挖了,面试官应该觉得我答得好才继续挖了。commonJS能不能浏览器环境使用?ESModule呢?   commonJS不可以,ESModule可以。打包工具是如何让commonJS模块化能在浏览器运行的?我一开始脑子很糊涂,说什么插入script标签.......面试官反问这样各个模块又如何互通呢?我才醒悟过来,webpack是把各个JS文件转换为函数(表达式)的形式,然后通过函数变量传递实现模块化的。webpack和vite有什么不同?  我说我vite用得不是很多,但是有过了解。然后说了vite的两个优点:开箱急用,更快。vite为什么比webpack更快?  开发时不用打包,用ESModule。打包算法优化,且用go语言编写的更快的构建器。你项目用什么发请求? 我答axios。  如何取消一个请求?  我确实没有了解过,只好答axios应该有相关的API。最后是反问,问了技术栈。面试官说4399有很多东西,不同部门有不同的技术栈。通过这次面试,我发现我掌握的很多前端知识并不牢固,经不起拷打。此外,Node是我的致命盲点,现代前端开发脚手架离不开node,就算不用node进行服务端开发,也得学一下node。
查看13道真题和解析
点赞 评论 收藏
分享
评论
3
31
分享
牛客网
牛客企业服务