【社招】面试_中科飞思_前端工程师

1 面试信息

面试形式:视频面试

面试时间:2026-03-23 13:00

面试时长:约20分钟

面试职位:前端工程师

2 面试问题

1.介绍下你做的项目,有遇到什么难点,如何解决

2.JavaScript中const、var和let作用域有什么区别

3.跨域问题如何解决

4.有没有用到中间件Redis,介绍一下

5.大学期间做过什么项目


* 面试问题答案整理

1.略

2.(1)作用域差别:var 声明的变量存在函数作用域或全局作用域,它们在整个函数或全局范围内都是可访问的。let 和 const 声明的变量存在块级作用域,它们在声明的块级作用域内有效,即包括 {} 内的代码块。

(2)变量提升:var 声明的变量在作用域内会进行变量提升,即在其作用域内的任何位置都可以访问变量,即使在声明之前也可以访问到,但其值为 undefined。let 和 const 声明的变量不会进行变量提升,它们只能在声明之后的代码中访问。

(3)重复声明:使用 var 声明的变量可以在同一作用域内重复声明,而后面的声明会覆盖前面的声明。使用 let 或 const 声明的变量在同一作用域内不允许重复声明,否则会引发语法错误。

(4)可修改性:使用 var 或 let 声明的变量的值可以被修改。使用 const 声明的变量是常量,其值在声明后不能被修改。尝试修改一个常量会导致运行时错误。

3.当浏览器的请求地址和服务器的接口地址满足"协议、域名、端口"三者中任意一个不同时,就属于跨域请求。为什么浏览器要拦截呢?这是浏览器的"同源策略"在起保护作用,防止恶意网站窃取其他网站的敏感数据。后端解决跨域是最推荐的方式,因为只需要配置一次,所有前端请求都能生效,不用前端做额外处理。

后端解决跨域:

(1)最简洁------单个接口加@CrossOrigin注解

(2)最常用------全局配置类(推荐)

(3)最灵活------过滤器Filter配置

前端解决跨域:

(1)开发环境专用------Vite代理配置(最常用)

(2)生产环境可用------Axios请求拦截器(配合后端)

4.Redis 是一个高性能的开源 NoSQL 数据库,主要用于缓存和快速数据存取。它以键值对的形式存储数据,支持多种数据类型,如字符串、列表、集合、散列和有序集合。

5.略

相关推荐
Setsuna_F_Seiei7 小时前
前端的 AI 学习之路 01 之 Agent API 调用 - 和 Agent 的基础对话
前端·人工智能·ai编程
threerocks7 小时前
AI 原生软件开发生命周期手册 - 如何借助 AI,逐阶段改造软件开发生命周期
前端·javascript·后端
徐小夕8 小时前
3分钟从想法到Agent上线:我们开源了一款AI可视化工作流“IDE”
前端·算法·github
why技术9 小时前
eli5,我觉得这个全网在吹的技能,使用体验真的很一般啊。
前端·人工智能·后端
excel9 小时前
记录升级 nuxt3 到 nuxt4 记录
前端
剑胆琴心静水深流10 小时前
全栈之路6---web集成与呈现
前端·vue.js·spring boot·分布式·spring·前端框架·npm
前端snow10 小时前
ai agent -- Memory汇总
前端
ITresearchGuest11 小时前
AI 焦虑下,前端该何去何从
前端·人工智能
码匠许师傅11 小时前
【C++ 面试真题】30. 聊聊 C++ 的互斥锁与读写锁
java·c++·面试
Codiggerworld11 小时前
Chrome DevTools 隐藏神技:这 5 个调试技巧你可能从来没用过
前端·chrome·chrome devtools