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格式。