前端面试题(22)|求职季面试题分享|答案

193 阅读3分钟

1、flex相关CSS属性介绍介绍?

答: (1)display: display: flex;  将容器定义为Flex容器,使其子项成为Flex项目。

(2)flex-direction:控制主轴的方向(行或列)。

(3)flex-wrap:控制Flex项目是否应该折行。

(4)justify-content:控制Flex项目在主轴上的对齐方式。

(5)align-items:控制Flex项目在交叉轴上的对齐方式。

(6)align-content:当有多行Flex项目时,控制行之间的对齐方式。

(7)flex-grow:定义Flex项目在必要时可以增长的比例。

(8)flex-shrink:定义Flex项目在必要时可以缩小的比例。

2、浏览器解析html的过程?

答:浏览器解析HTML的过程大致可以分为以下几个步骤:

(1)解析HTML文档

(2)构建DOM树

(3)解析CSS

(4)构建渲染树

(5)布局(Layout)

(6)绘制(Painting)

(7)重排(Reflow)和重绘(Repaint)

(8)优化

3、垃圾回收机制是什么?

答:垃圾回收机制是计算机程序用来自动管理内存的一种方法,它通过以下步骤来释放不再使用的内存:

(1)识别:确定哪些内存中的对象不再被程序引用。

(2)回收:释放这些对象占用的内存空间。

(3)优化:可能包括内存压缩和整理,以提高内存使用效率。

4、设计模式了解吗?

答:设计模式是一套被广泛认可的解决特定软件设计问题的方案。它们分为三类:

(1)创建型模式:涉及对象创建的方式,如单例模式、工厂方法模式和抽象工厂模式。

(2)结构型模式:关注类和对象的组合,如适配器模式、装饰器模式和代理模式。

(3)行为型模式:涉及对象间的通信和职责分配,如观察者模式、策略模式和命令模式。

5、浏览器的缓存策略有哪些?

答:主要包括强缓存、协商缓存、Service Worker和IndexedDB等几种方式。

6、浏览器的兼容问题有哪些?

答:(1)渲染相关:和 样式 相关的问题,即体现在布局效果上的问题。

(2)脚本相关:和 脚本 相关的问题,包括JavaScript和DOM、BOM方面的问题。对于某些浏览器的功能方面的特性,也属于这一类。

(3)其他类别:除以上两类问题外的功能性问题,一般是浏览器自身提供的功能,在内核层之上的。

7、小程序的下拉刷新和触底刷新怎么做?

答:(1)下拉刷新

开启下拉刷新:在  app.json  中设置  "enablePullDownRefresh": true 。 监听事件:在页面的  onPullDownRefresh  方法中处理数据刷新逻辑。

刷新UI:使用  wx.showNavigationBarLoading  和  wx.stopPullDownRefresh  控制加载状态。

(2)触底刷新

监听页面滚动:在页面的  onPageScroll  方法中监听滚动事件。

触发加载:当用户滚动到页面底部时,调用  loadMoreData  方法加载更多数据。

加载提示:使用  wx.showLoading  和  wx.hideLoading  显示加载提示。

8、动画一般怎么做?

答:(1)CSS动画:使用 @keyframes 和 animation 属性创建简单动画效果。

(2)JavaScript动画库:如GSAP、anime.js等,用于创建更复杂的动画。

(3)SVG动画:通过SVG元素和属性制作矢量图形动画。

(4)Canvas动画:使用  元素和JavaScript进行图形绘制和动画制作。

(5)Web Animation API (WAAPI):提供原生JavaScript动画控制。

(6)CSS3 3D变换:实现3D动画效果。

(7)视频和动画文件:嵌入GIF、MP4等格式的动画文件。

(8)游戏引擎:如Unity、Unreal Engine或Phaser.js,用于复杂交互式动画。

(9)动画制作软件:如Adobe After Effects、Adobe Animate,导出为Web格式。