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

大厂基础面试题(之四)

Q1:请先进行自我介绍

Q2:说下你学习前端的详细过程

Q3:一个页面从url输入到显示页面的整个过程

1.URL解析

2.DNS解析

3.建立TCP连接

4.发起HTTP请求

5.服务器处理请求

6.返回HTTP响应

7.下载页面资源

8.解析和渲染页面

9.JavaScript执行

10.页面呈现

Q4:说下TCP和UDP的区别

连接性:TCP面向连接;UDP无连接

数据传输方式:TCP流式传输;UDP面向数据报传输

可靠性:TCP提供数据可靠传输机制; UDP不保证数据可靠性

报头:TCP复杂包含控制信息;UDP简单基本信息少

Q5:知道什么是BFC吗

BFC:块级格式化上下文,是W3C CSS2.1规范中的一个概念。

BFC是指浏览器中创建了一个独立的渲染区域,并且拥有一套渲染规则,他决定了其子元素如何定位,以及与其他元素相互关系和作用

Q6:说下清除浮动有哪些方法

1.使用clear:both清除浮动

2.利用伪元素clearfix来清除浮动(给父级元素添加了一个:after伪元素,通过清除伪元素的浮动,达到撑起父元素高度的目的)

.clearfix:after{

        content: "";

        display: block;

        visibility: hidden;

        clear: both;

}

3.父元素设置overflow样式,不管是overflow:hidden或overflow:auto都可以清除浮动

.box{border: 1px solid #ccc;background: #eff2f4;overflow: auto;}

4.通过给父元素设置双伪元素来达到清除浮动的效果

.clearfix:before,.clearfix:after{

        content: "";

        display: block;

        clear: both;

}

Q7:CSS的选择器以及他们的权重

通用选择器(权重:0):选择所有元素

eg: *{}

子元素选择器(权重: 0)

eg:   ul>li

相邻兄弟选择器(权重:0)

eg:  h2 + p {}

元素选择器(权重:1):使用HTML元素的标签名作为选择器,选取匹配的元素

eg: p{}

类选择器(权重:10):使用类名选择元素,以.开头

eg: .highlight{}

伪类选择器(权重: 10)

eg::hover{}

属性选择器(权重: 10)

eg:  [type="text"]{}

ID选择器(权重:100):使用元素的唯一标识符ID选择元素,以#开头

eg: #myElement{}

Q8:对CSS3的属性有了解吗?说下怎么定义动画的

文本阴影属性(text-shadow):用于添加文本阴影效果,可以设置水平距离、垂直距离、模糊半径和阴影颜色等参数

边框圆角属性(border-radius):用于设置元素边框的圆角效果,可以制定每个角的半径大小,实现圆角效果

过渡属性(transition):用于控制元素状态变化的过渡效果,可以设置属性的变化时长、延迟时间、变化速度函数等

动画属性(animation):允许在元素上定义动画效果,包括动画名称、持续时间、重复次数、播放状态等

盒阴影属性(box-shadow):用于为元素添加阴影效果,可以设置水平偏移、垂直偏移、模糊半径、阴影颜色等参数

Q9:z-index的用法

1.同级关系:z-index值较大的元素将叠加在z-index值较小的元素之上(值可以为负数)

                     z-index值相同时,按照文档流顺序排列

2.父子关系:如果设置了父元素的z-index,那么子元素无论是否设置z-index都和父元素一致,会在父元素上方

3.同级元素下的子元素关系:同级元素的z-index生效,那么其七元素覆盖关系由父元素决定(父元素z-index值大的覆盖父元素z-index值小的,子元素在各自父元素的上方)

Q10:相邻块元素的外边距塌陷问题

外边距塌陷是指在垂直方向上相邻的两个元素的外边距合并为一个较大的外边距的现象。这种现象通常出现在块级元素的上下相遇时,上面的元素有下边距(margin-bottom),下面的元素有上边距(margin-top)的情况。在外边距塌陷中,两个相邻元素之间的垂直距离会取两者中较大者作为最终的外边距值。这种行为被称为边距合并或者边距折叠。

为避免外边距塌陷问题,可以采取一些解决方法。其中,一种解决方法是为上面的元素添加padding,border或者inline-block等属性,这样可以防止外边距合并。另一种方法是为下面的元素添加overflow:hidden, float: left/right等属性,也可以有效地解决外边距塌陷的问题。

Q11:元素隐藏的几种方法

Q12:说下jsonp跨域

Q13:声明数组的几种方式

Q14:声明函数的几种方式

Q15:普通函数和构造函数的区别

Q16:如何添加一个元素

Q17:原型链

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

相关文章:

  • 为什么我们应该切换到Rust
  • 基于Linux定时任务实现的MySQL周期性备份
  • 【Altium Designer 20 笔记】隐藏PCB上的信号线(连接线)
  • 【Git教程】(九)版本标签 —— 创建、查看标签,标签的散列值,将标签添加到日志输出中,判断标签是否包含特定的提交 ~
  • MemberPress配置和使用会员登录页面
  • 分享一个预测模型web APP的功能模块和界面的设计
  • 智慧公厕是智慧城市建设中不可或缺的一部分
  • leetcode热题100.爬楼梯(从二进制到快速幂)
  • 使用Docker定时备份数据
  • conda搭建与管理python环境
  • 获取当前的年、月、日、时、分、秒,并将这些信息用作保存 Excel 文件的前缀
  • Gitlab全量迁移
  • Golang ProtoBuf 初学者完整教程:语法
  • 使用.cc域名的优势
  • 存储器管理单元MMU概述
  • 了解监控易(25):网络拓扑管理,可视化监控网络,快速定位问题
  • C#学习笔记10:winform上位机与西门子PLC网口通信_中篇_winform的窗口操作设计、日志的添加使用
  • 第14章 大数据与数据科学知识点梳理
  • FHE全同态加密简介
  • 【vue】跨组件通信--依赖注入
  • Aritest+python+Jenkins解放双手iOS/Android自动化
  • Problem #7 [Medium]
  • MySQ数据库: MySQL数据库的安装配置 ,图文步骤详细,一篇即可完成安装完成! MySQL数据库如何与客户端连接
  • vue3+vant自动导入+pina+vite+js+pnpm搭建项目框架
  • 使用 Axios 处理 AxiosError 的三种常见方法
  • linux上安装Tomcat
  • Ubuntu20.04安装ROS过程记录以及常见报错处理
  • PaddleOCR 图片日期识别
  • HTML5学习记录
  • 提升法律文书起草效率:AlphaGPT 助力律师快速生成诉讼和仲裁文件