最新面试详情

最新面试详情

面试情况

标准提升 hc

周末统一面试 7~30天

  1. promise
    (1)allSettled race
    (2)then
    (3)async await
javascript 复制代码
//new Promise
static allSettled(promises){
    return new Promise((resolve, reject) => {
        const res = []
        let count = 0;

        const addData = (status, value, i) => {
            res[i] = {
                status,
                value
            }
            count++;
            if (count === promises.length) {
                resolve(res)
            }
        }

        promises.forEach((promise, index) => {
            if (promise instanceof Promise) {
                promise.then(res => {
                    addData('fulfilled', res, index);
                }, err => {
                    addData('rejected', err, index)
                })
            } else {
                addData('fulfilled', promise, index)
            }
        })
    })
}


//race
static race(promises){
    return new Promise((resolve, reject) => {
        promises.forEach(promise => {
            if (promise instanceof Promise) {
                promise.then(res => {
                    resolve(res)
                    }, err => {
                    reject(err)
                })
            } else {
                resolve(promise)
            }
        })
    })
}
  1. composition API optional API区别
    • composition API 好处
      • 提供比较灵活的逻辑抽离方式
      • TS
      • bundle
    • 与 optional API 对比
      • teleport
    • react hooks 对比
      • 有一定的条件限制
      • reactive Proxy VueUse
  2. React Hooks 防抖节流
javascript 复制代码
function debounce(fn,ms) {
    let timeout;
    return function () {
        let ctx = this;
        let args = arguments;
        if (timeout) {
            clearTimeout(timeout)
        }

        timeout = setTimeout(() => {
            fn.apply(ctx, args)
        }, ms)
    }
}
import { useEffect,useRef } from 'react'

const useDebounce = (fn,ms = 500,deps =[])=> {
    let timeout = useRef();
    useEffect(() => {
        if (timeout.current) {
            clearTimeout(timeout.current)

            timeout.current = setTimeout(() => {
                fn()
            }, ms)
          }
        }, deps)
        const cancelDebounce =() => {
            clearTimeout(timeout.current)
            timeout = null
        }
        return cancelDebounce
    
}

function throttle(fn, ms) {
    let previous = 0;
    return function () {
        let now = Date.now();
        let ctx = this;
        let args = arguments;
        if (now - previous > ms) {
            fn.apply(ctx, args)
            previous = now;
        }
    }
}

const useThrottle = (fn, ms = 500, deps = []) => {
    let previous = useRef(0);
    const [time, setTime] = usestate(0)

    useEffect(() => {
        let now = Date.now();
        if (now - previous.curent > time) {
            fn();
            previous.current = now;
        }
    }, deps)
    const cancelThrottle = () => {
        setTime(0)
    }
    return cancelThrottle
}

前端稳定性

  1. 基础介绍
  2. 技能介绍
  3. 项目
    项目亮点:API调用之外 基础业务功能的

简历例子:

技术描述:

对页面静态资源进行压缩、合并,并使用CDN加速,以提高页面加载速度。

使用Webpack进行打包优化,包括代码压缩、懒加载和按需加载,以及利用Tree shaking等技术来减小包的体积。

优化网络请求,减少不必要的请求次数,合并请求

采用图片压缩、懒加载和响应式图片等技术,以提高页面加载速度和用户体验。

针对不同浏览器进行测试和调试,处理兼容性问题,确保在各大主流浏览器下的良好兼容性。

通过代码优化,减少不必要的JavaScript和CsS文件大小,进行代码压缩和混淆,以减小加载时间。

将请求逻辑与业务逻辑分离,持续的优化项目,实现代码的可复用性和易维护性

问题:
  1. 项目名称项目中的角色项目周期
  2. 项目简介
  3. 技术选型 Vue + vuex + vue-router + vueUse +XXxx
  4. 项目难点和亮点
    (1)问题
    (2)问题分析 技术方案
    (3)action
    (4)业务提升

PC uniapp app

性能优化

用户体验

相关推荐
宇宙李1 小时前
2024java面试-软实力篇
面试·职场和发展
测试界柠檬2 小时前
接口测试到底测试什么?
自动化测试·软件测试·功能测试·程序人生·职场和发展·单元测试·压力测试
自身就是太阳2 小时前
2024蓝桥杯省B好题分析
算法·职场和发展·蓝桥杯
孙小二写代码3 小时前
[leetcode刷题]面试经典150题之1合并两个有序数组(简单)
算法·leetcode·面试
珊珊而川3 小时前
【浏览器面试真题】sessionStorage和localStorage
前端·javascript·面试
markzzw3 小时前
我在 Thoughtworks 被裁前后的经历
前端·javascript·面试
无名之逆4 小时前
计算机专业的就业方向
java·开发语言·c++·人工智能·git·考研·面试
爱棋笑谦4 小时前
二叉树计算
java·开发语言·数据结构·算法·华为od·面试
码拉松4 小时前
千万不要错过,优惠券设计与思考初探
后端·面试·架构
魔术师卡颂5 小时前
如何让“学源码”变得轻松、有意义
前端·面试·源码