第一面试官提问如下:
1、自我介绍
2、根据项目提问:混合开发调取api的通讯方式
3、技术提问:如何隐藏div,但是div需要存在
使用 visibility 隐藏:
1.visibility: hidden2.display: none
3.opcity: 0
4、css塌陷问题如何解决
// 1 清除浮动
.clearfix::after {content: '',display: table,clear: both
}
// 2 使用 inline-block 或 flexbox 布局:使用 display: inline-block; 或者 display: flex; 可以让父元素的高度自适应其内部元素的高度。
// 3 设置 overflow 属性:在父元素上设置 overflow: auto; 或者 overflow: hidden; 可以触发 BFC(块级格式化上下文),从而解决塌陷问题。
//4. 使用 table 布局:将父元素的 display 属性设置为 table 或者 table-cell 可以使其具有类似表格的行为,从而解决塌陷问题。
5、js闭包
6、没有变量的情况下,如何判断是否是空对象
// Object.keys()function isEmptyObject(obj) {return Object.keys(obj).length === 0 && obj.constructor === Object;}// 测试console.log(isEmptyObject({})); // 输出: trueconsole.log(isEmptyObject({ a: 1 })); // 输出: false
// JSON.stringify()
function isEmptyObject(obj) {return JSON.stringify(obj) === "{}";
}// 测试
console.log(isEmptyObject({})); // 输出: true
console.log(isEmptyObject({ a: 1 })); // 输出: false
7、js的事件队列
JavaScript事件循环是一个持续循环的过程,它从任务队列中取出任务并执行。任务分为两种:宏任务(MacroTask)和微任务(MicroTask)。宏任务包括setTimeout、setInterval、I/O、UI渲染等;微任务包括Promise.then、MutationObserver、process.nextTick(Node.js环境)等。执行顺序上,先执行完当前宏任务队列中的所有同步代码,然后执行当前宏任务结束前产生的所有微任务,接着进行UI渲染等操作。渲染后,再开始下一个宏任务,重复此过程。上述代码的输出是 '1' -> '3' -> '2'。首先执行同步代码打印'1',然后虽然设置了定时器,但其回调会被放到下一轮宏任务队列中。紧接着,Promise.then被添加到微任务队列,所以接下来会先执行微任务打印'3',最后才是下一轮宏任务队列中的setTimeout回调打印'2'。异步编程模型中,回调函数是最原始的处理异步的方法,而Promise和async/await提供了更简洁易读的方式来组织异步代码,通过抽象层将异步逻辑看起来像是同步执行。同时,它们都遵循事件循环机制来调度异步操作的执行时机。
9、数组的值修改不生效是为什么呢
10、开发过程中同一级别组件如何通讯
// 通过 Vuex 状态管理
// 通过 $refs 直接访问子组件
11、vue3对比vue2使用过程中的改动以及优缺点是什么
12、出生年份
第二面试官提问如下:
1、根据项目提问,分工
2、二次封装
3、promiss对象的状态
4、除了promiss还有什么可以处理异步
// async await
// setTimeout
5、项目开发中有什么印象深刻的事情吗
6、学历时间
7、对加班的看法
8、你有什么想问的吗?
//
9、对接开发联调的方法
10、对未来的规划
青青候选人面试情况
三位面试官:
1、用什么方法可以隐藏标签
2、css坍塌,js闭包是如何理解的,为什么要用闭包,闭包有什么好处?
3、如何知道js是空对象
4、有使用过vue2?vue有2个组件,有哪些方式实现通讯
5、如何进行封装组件?
6、有没有使用过vue3?用了有多长时间?
第二个面试官
1、侧重项目经历问,问angular的知识
2、node的理解
3、平时项目当中如何合作的?
4、遇到的技术难点是如何解决的,花多长时间解决的?
5、对于加班是如何理解的?
6、讲一下angular、vue、react框架的区别
7、用过angular的装饰器?是什么?
8、通过js如何使用装饰器
9、对于jc如何理解的,垃圾回收,是如何利用的
10、有使用过引用和标记删除法
11、组建参数过多的话,如何进行处理
12、有问到自动化测试,单元测试,有做过吗?
13、团队协作几个人?如何进行协作的
14、完成特定的模块,根据自己的进度,决定是否可以加班
15、采用敏捷开发的形式,项目进度比较紧张