CSS居中方案水平行内 => text-align: center块级 => margin: 0 auto
垂直line-height = heightflex: align-items: centerposition + top: 50% + transform(-50%)
水平垂直flex + justify-content + align-itemsposition + top/left 50% + transform(-50%)grid + place-items: center`
选择器优先级!important > 内联 > ID > 类 > 标签 > 继承
盒子模型标准模型:width = contentIE模型:width = border + padding + content、box-sizing:border-boxBFC:独立渲染区域,防止外边距合并、清除浮动 / 触发:overflow: hidden、flex
position定位stati ...
面经
未读
自我介绍react的学习成果 组件讲一下能代表技术能力的项目 组件库 花了多长时间 哪个组件的代码写得最好做组件库的初衷vue的实现 响应式如何触发更新的这个流程花了多久平时怎么学习对自己未来规划通过的话什么时候能来实习 每周实习几天 实习多长时间反问全程都是我自己在讲,讲项目讲的挺详细的,轻松过了嘿嘿嘿😄
面经
未读
自我介绍h5语义化标签布局 3行3列flex常见属性动画 transform animation 有用过吗相对定位、绝对定位let、const、var let、const区别 let、var区别前端作用域有几个es6新增 set/map 使用场景Promise解决了什么问题Promise3种状态 可逆吗箭头函数、普通函数区别this绑定vue3相对vue2的最大优点vue生命周期有哪几种状态管理用的什么monorepo了解过react吗有后端接口吗什么是跨域 为什么配置代理就能解决问题转义怎么学的 学校教的吗什么方式学用ai吗做这件事的时候什么对你来说是有挑战的获取信息、理解信息、信息正确性哪个更重要 理解信息反问
面经
未读
自我介绍混合问vue/react这类框架出现的原因,解决了什么(原生)Vanilia js -> JQuery -> Angular -> React/vue
JQuery (2006):
内部解决浏览器对JS的兼容问题(原生JS需要为不同的浏览器编写不同的代码)
链式调用,解决DOM操作繁琐问题
写的更少,做得更多
Angular (2009):
MVC/MVVM 架构,将应用分为模型(Model)、视图(View)、控制器(Controller),解决了数据视图不同步的问题(数据变化后,需要手动找到对应的DOM元素并更新其内容/用户操作DOM后,也需要手动更新JS中的数据)
双向数据绑定,响应式自动更新
从操作DOM的思维转变到构建应用的思维
React (2013) / Vue (2014):
虚拟DOM,大大提升了性能
单向数据流,数据流更清晰可预测
组件化,组件逻辑可复用,灵活性,低门槛
为什么用Monorepo,其他架构有没有实践,各自的优缺点自己说项目完整讲了响应式模块,从effect到深层实 ...
面经
未读
自我介绍JavaScript基础== 和 === 什么区别判断:[] == 0false == “false”
答案:√×
如何判断一个变量是不是数组.isArray()
let、const、var区别块级作用域变量提升作用域死区
Promise与async、await的关系promise 是 aysnc/await 的语法糖
Promise.all用Promise.All,有三个API,中间那个挂了,超时了立即失败,Promise.all 立刻进入 rejected 状态,往后的请求不发
了解微任务和宏任务吗场景
12345678910111213141516function test() { setTimeout(function() { console.log(1) },[]) new Promise(resolve => { console.log(2) resolve() console.log(3) throw new ...
面经
未读
先简单介绍项目
刚介绍完组件库就开问了
为什么使用 Monorepo 架构,主要为了解决什么问题
我回答是依赖隔离相关的东西,然后把工具类、组件实现、文档、测试这类的逻辑相隔开会好管理,还提到了缺点就是整个项目体积可能会很大之类的
组件库使用了StoryBook,是用来干嘛的,单纯用来测试吗,还有没有用什么功能
大概说了是用来调试单独的组件用的,由于需要一个可视化的界面来看当前组件的样式和功能,直接通过文档站点不好观察组件调试过程中的变化,并且Storybook有热更新,通过配置相应storybook的选项也可以测试控制组件的某种功能,比如按钮的大小颜色,节流传值功能之类的
CI/CD如何配置、GitHub Action对这个项目的作用
和一面时回答的差不多,然后面试官好像以为我的npm包和文档站点都是在github actions构建流程里的,然后解释了一下包发布是在我的核心层里,然后文档站点是通过github actions构建的,扯了有一会
为什么想要做组件库这么一个项目,是什么需求不满足以至于要重新构建一个自己的组件库一是说组件开发成本比较大,刚好自己在学vu ...
面经
未读
自我介绍浏览器窗口的组成部分
没学过,上来就寄了
用户界面:用户与浏览器交互的部分 (地址栏、工具栏、前进回退、书签栏)渲染引擎:复杂解析 HTML 和 CSS 并转化为用户可见的网页内容,通过构建 DOM 树和 CSSOM 树将其绘制到页面上浏览器引擎:用户界面 和 渲染引擎 的桥梁,(页面加载进度、处理弹窗提示)网络模块:处理所有网络请求(通过HTTP协议加载网页资源)JavaScript引擎:解释并执行网页中的JS代码,动态交互和页面更新 (如现代V8引擎)数据存储:管理浏览器的本地数据 (Cookies、缓存、LocalStorage)
事件循环是什么,解决了什么问题
没什么问题
JS是单线程语言,同一时间只能执行一个任务
如果一个任务耗时过长(网络请求、文件读取),会阻塞后续代码的进行,所以出现了同步任务和异步任务
同步任务:立刻放入JS引擎(JS主线程)执行,原地等待结果
异步任务:先放入宿主环境(浏览器/Node),不阻塞主线程,在将来执行
同步任务进入主线程,异步任务进入任务队列,主线程内的任务执行完毕为空,会去任务队列读取对应的任务,推入主线程执行,这样 ...
技术探索
未读
双进程模型主进程单一应用入口(package.json main 字段)在 Node.js 环境运行 (具有 require 模块和使用 Node API 能力)负责
创建和管理 窗口(BrowserWindow)、对话框(dialog)、菜单(Menu)、托盘图标(Tray)等调用 Electron 系统 API 的功能
通过 ipcMain(主) / ipcRenderer(渲染) 模块与所有渲染进程进行双向通信,是 IPC 通信中枢
可用 window 的 webContents 对象
1234567const { BrowserWindow } = require('electron')const win = new BrowserWindow({ width: 800, height: 1500 })win.loadURL('https://github.com')const contents = win.webContentsconsole.log(contents)
渲染进程 ...
技术探索
未读
全局变量移动速度1const moveSpeed = ref(0.02)
键盘标识位123456789const keys = { w: false, // 前移 a: false, // 左移 s: false, // 后移 d: false, // 右移 q: false, // 上升 e: false, // 下降 shift: false, // 加速键}
键盘事件按下
12345678910function onKeyDown(event) { const key = event.key.toLowerCase() if (keys.hasOwnProperty(key)) { keys[key] = true } if (event.key === 'Shift') { keys.shift = true moveSpeed.value = 0.05 // 加速 } ...
技术探索
未读
全局模型配置(位置 & 旋转)123456const modelConfigs = [ { position: [-1.85, 0, -2.5], rotation: 0 }, // 左上角 { position: [-2.5, 0, 1.85], rotation: Math.PI / 2 }, // 左下角 { position: [1.85, 0, 2.5], rotation: Math.PI }, // 右下角 { position: [2.5, 0, -1.85], rotation: -Math.PI / 2 }, // 右上角]
模型计数
所有模型加载完后启用动画循环
12let modelsLoaded = 0 // 已加载模型计数const totalModels = modelConfigs.length // 总模型数量
对齐函数
将模型底部对齐到 Y=0
1234567function alignModelToGround(mode ...









