最新面试详情

最新面试详情

面试情况

标准提升 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

性能优化

用户体验

相关推荐
过期动态3 小时前
【LeetCode 热题 100】移动零
java·数据结构·算法·leetcode·职场和发展·rabbitmq
AI人工智能+电脑小能手5 小时前
【大白话说Java面试题 第77题】【Mysql篇】第7题:回表查询与全表扫描的区别?
java·开发语言·数据库·mysql·面试
张元清5 小时前
在 React 里写动画又不跟渲染周期较劲:useRafFn、useRafState、useFps、useDevicePixelRatio、useUpdate
前端·javascript·面试
dayuOK63076 小时前
用了AI之后,我的个人风格反而更明显了
人工智能·职场和发展·自动化·新媒体运营·媒体
代码帮6 小时前
面试题 - GIL全局解释器锁 :为什么Python多线程不能利用多核?GIL对I/O密集和CPU密集任务的影响?如何绕过GIL(多进程、C扩展)
python·面试
Raink老师7 小时前
【AI面试临阵磨枪-65】设计一个支持 10w 并发的 AI 聊天服务(流式、高可用、成本优化)
人工智能·面试·职场和发展
_日拱一卒8 小时前
LeetCode:200岛屿数量
算法·leetcode·职场和发展
HelloRainy8 小时前
用 C++ 实现 shared_ptr 与 weak_ptr,线程安全是怎么解决的
面试
Java编程爱好者9 小时前
Kubernetes Pod 故障排查指南:从状态识别到根因定位的完整实践
面试
x_xbx9 小时前
LeetCode:101. 对称二叉树
算法·leetcode·职场和发展