掌阅科技前端一面(2023.11.06)

本文讨论了小程序下拉加载刷新原理、Ajax使用、Git回退方法(gitreset和gitrevert)、Node.js基础、数组扁平化、JavaScript的nexttick机制、组件间通信、key的作用以及BFC的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

没答上来的

1.小程序的下拉加载刷新怎么实现,它的原理是什么

  • 下拉加载:本质就是在加载的这个时间,获取新增元素的数据,将旧的数组和新的数组进行一个合并,赋值到原来的数组里面
  • 下拉刷新:本质是在等待的这个时间去清空数据,然后再重新发送请求获取数据,这个向api发送请求时一般都会获取的随机数据。

2.ajax有了解过吗?怎么使用

3.git回退怎么实现

git reset:是比较暴力的回退方式,它会直接回退到之前的某个版本

git revert:是比较温和的回退方式,它会撤销某个提交,这个提交之后的修改不会撤销,会保留下来

4.node有了解吗

不了解,,,

代码题

1.数组扁平化。将一个arr = [1, [2, [3, [4, [5]]]]]变成[1,2,3,4,5]

let arr = [1,[2,[3,[4,[5]]]]]
function flatten(arr) {
    let res = [];
    arr.map((item)=>{
        if(Array.isArray(item)) {
            //使用递归的方式去实现,判断如果这个是数组,就递归,不是就入栈
            res = res.concat(flatten(item))
        } else {
            res.push(item)
        }
    }
    )
    return res
}

其他的(顺序随机,有些不太记得了)

1.nexttick有了解吗,说一下它的原理和应用

2.说一下组件通信

3.key了解吗,它有什么优势

4.为什么data里面的数据要返回的是函数而不是对象

5.bfc有了解吗

### 掌阅科技软件测试岗位面试经验 对于掌阅科技的软件测试岗位,面试过程通常涉及多个环节来评估候选人的技术能力、沟通能力和解决问题的能力。以下是关于此类面试的一些经验和技巧: #### 1. 准备基础知识 候选人应熟悉常见的软件开发流程以及质量保证的概念。掌握基本的编程技能也是必要的,因为编写自动化脚本可能成为工作的一部分。了解如何设计有效的测试用例,并能够解释边界条件的重要性[^1]。 #### 2. 实践项目经历分享 准备好讨论过去的实践经验非常重要。这可以包括参与过的任何类型的测试活动——无论是手动还是自动化的形式。描述具体案例时要强调所采取的方法论及其成果,比如发现了多少缺陷或提高了产品的稳定性等。 #### 3. 应对行为型问题 除了技术和专业知识外,在群面环境中还需要展示良好的团队合作精神和个人特质。当被询问到个人背景或者动机等问题时,应该简洁明了地表达自己的职业规划与公司愿景相匹配之处[^2]。 #### 4. 编程挑战应对策略 如果遇到像快速排序这样的算法题目,则需展现出清晰而有条理思考的过程: ```python def quick_sort(arr): if len(arr) <= 1: return arr else: pivot = arr[len(arr) // 2] left = [x for x in arr if x < pivot] middle = [x for x in arr if x == pivot] right = [x for x in arr if x > pivot] return quick_sort(left) + middle + quick_sort(right) ``` 此代码片段展示了递归实现方式下的快速排序函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值