当前位置: 首页 > news >正文

2023常见前端面试题

以下是一些2023年秋招常见的前端面试题及其答案:

1. 请解释一下什么是前端开发?
前端开发是指使用HTML、CSS和JavaScript等技术来构建网页和用户界面的过程。前端开发人员负责将设计师提供的视觉设计转化为可交互的网页,并确保网页在不同设备上的良好显示和响应。

2. 请解释一下HTML、CSS和JavaScript的作用和区别。
- HTML(超文本标记语言)用于定义网页的结构和内容
- CSS(层叠样式表)用于定义网页的样式和布局
- JavaScript用于实现网页的交互和动态效果

3. 请解释一下响应式设计是什么?
响应式设计是一种网页设计方法,使网页能够根据用户的设备和屏幕大小自动调整布局和样式,以提供最佳的用户体验。通过使用媒体查询和弹性布局等技术,响应式设计可以使网页在桌面、平板和手机等不同设备上都能够良好地展示。

4. 请解释一下什么是跨域请求?
跨域请求是指在浏览器中,通过JavaScript发起的请求访问不同域名下的资源。由于浏览器的同源策略限制,跨域请求默认是不被允许的。为了实现跨域请求,可以使用CORS(跨域资源共享)或JSONP等技术。

5. 请解释一下什么是闭包(Closure)?
闭包是指在一个函数内部定义的函数,并且该内部函数可以访问外部函数的变量和参数。闭包可以用来创建私有变量和实现模块化的代码结构。

6. 请解释一下什么是事件冒泡和事件捕获?
事件冒泡是指当一个元素上的事件被触发时,该事件会从最内层的元素开始向外层元素逐级触发,直到触发到最外层的元素。事件捕获则是相反的过程,事件从最外层的元素开始向内层元素逐级触发。在事件处理中,可以通过调用事件对象的stopPropagation()方法来阻止事件的冒泡或捕获过程。

7. 请解释一下什么是AJAX?
AJAX(Asynchronous JavaScript and XML)是一种在不重新加载整个网页的情况下,通过JavaScript与服务器进行异步通信的技术。通过使用AJAX,可以实现网页的局部刷新和动态加载数据,提升用户体验。

8. 请解释一下什么是单页应用(SPA)?
单页应用是指在加载初始页面后,所有的页面切换和内容更新都是通过JavaScript动态加载和渲染,而不需要重新加载整个页面。单页应用通常使用前端框架(如Vue.js、React.js)来实现路由和组件化开发,以提供更流畅的用户体验。

7.b站前端面试题:

答案:A

答案: B(不能修改当前元素,只是修改后一个元素样式)

相邻兄弟选择器(+  指挥影响下面的一个元素)、子选择器(>  某元素后代的元素(子子孙孙元素))、兄弟选择器(~  后面的所有兄弟结点)、first-child、:last-child其元素的第 N 个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数、:nth-child 该选择器选取父元素的第 N 个子元素,与类型无关、:nth-last-child 其元素的第 N 个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数

css常用选择器:相邻兄弟选择器(+)、子选择器(>)、兄弟选择器(~)、属性选择器等用法_cdgogo的博客-CSDN博客

答案: 

mouse.jsimport { ref,onMounted,onUnmounted } from "vue"export function useMouseposition(){const x=ref(0);const y=ref(0);function update(e){x.value= e.pageX;y.value = e.pageY}onMounted(()=>{window.addEventListener('mousemove',update)})onUnmounted(()=>{window.removeEventListener('mousemove',update)})return {x,y}
}import {useMouseposition} from '../utils/mouse'const {x,y} =useMouseposition();/*
导入 ref ,onMounted, onUnmounted
定义函数及变量
获取到鼠标点击的坐标
返回 x 和 y
*/

 答案: 

枚举类型是一个由一组叫做元素, 成员, 枚举成员的值组成的数据类型.枚举成员的名字在语言中通常充当常量的标识符.枚举类型的变量可以被任意的枚举成员所赋值.

 

http://www.lryc.cn/news/145172.html

相关文章:

  • 登录校验-JWT令牌-生成和校验
  • GIT 常用指令
  • 多目标优化
  • odoo的优势
  • Spring Boot(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot 前后端分离)【三】
  • Kali 软件管理
  • 加油站【贪心算法】
  • java八股文面试[多线程]——死锁、活锁、饥饿
  • 设计模式——装饰器模式
  • ①matlab的命令掌握
  • MySQL----索引
  • 秒杀系统的业务流程以及优化方案(实现异步秒杀)
  • Java实现根据商品ID获取1688商品详情跨境属性数据,1688商品重量数据接口,1688API接口封装方法
  • 前端面试的性能优化部分(14)每天10个小知识点
  • Uniapp笔记(六)uniapp基础
  • C++ sort函数用法
  • 电子仓库预测水浸事件,他怎么做到的?
  • CMake调用第三方库的两种方法
  • Django基础7——用户认证系统、Session管理、CSRF安全防护机制
  • 基于流计算 Oceanus(Flink) CDC 做好数据集成场景
  • MySQL8.Xx安装控制台未生成随机密码解决方案
  • 安装VS2005时提示:请插入磁盘:visual studio 2005 DVD
  • OpenVINO2023使用简介
  • 基于React实现无限滚动的日历详细教程,附源码【手写日历教程第二篇】
  • 68、使用aws官方的demo和配置aws服务,进行视频流上传播放
  • 数据库
  • 深入了解fcntl函数:Linux系统编程中的文件控制
  • 汇川技术内推码
  • nacos服务器启动报错集合
  • C语言_分支和循环语句(2)