• 笔试题汇总


    函数

    手写call
    手写bind
    手写节流(throttle)
    手写防抖(debounce)
    手写柯里化(curry)
    手写组合(compose)
    手写实例化(new)
    手写继承(extends)
    手写实现一个sleep函数
    

    对象

    手写深拷贝(deepClone)
    手写let
    手写const
    手写引用类型判断(instanceof)
    实现获取对象指定属性(getValue)
    

    数组

    手写数组排序(sort)
    手写数组去重(deduplicate)
    手写数组拉平(flat)
    reduce 实现 map
    数组转对象
    数组转树(每一项带父级id:pid)
    

    字符串

    判断是否回文
    字符串反转
    大数相加
    判断一个字符串是否另一个字符串的子序列
    最长公共子串
    实现颜色转换 'rgb(255, 255, 255)' -> '#FFFFFF' 的多种思路
    获取url参数(getUrlParams)
    

    链表

    判断链表是否有环
    实现链表反转
    

    栈与队列

    使用栈实现队列
    判断括号是否是匹配(“(){()[{}]} ()({}) {()}[]{()} [{{[()]}}]”)
    

    手写树先序、中序、后序、层序遍历(递归+迭代)
    判断平衡二叉树、搜索二叉树、完全二叉树
    

    异步

    手写promise
    手写promiseAll
    手写promiseRace
    手写promiseAllSettled
    手写并发控制(promiseLimit)
    手写重试(promiseRetry)
    手写超时(promiseTimeout)
    手写jsonp
    手写ajax
    手写setInterval
    手写setTimeout
    

    设计模式

    手写单例模式(singleton)
    手写观察者模式(observer)
    

    工具

    实现一个极简的webpack
    实现一个极简的模版引擎
    实现一个极简的数据响应式
    实现一个自由拖动组件
    实现一个多弹窗管理组件
    实现一个虚拟列表
    
  • 相关阅读:
    jQuery上传插件Uploadify使用详解
    SQL之case when then用法
    myeclipse 上安装 Maven
    ps 简介
    Linux 查看进程和删除进程
    EL表达<%@page isELIgnored="false"%>问题
    刷新本地的DNS缓存
    IDEA中 @override报错的处理步骤
    Caused by: org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file
    jsp中${param.user}不解析,原样输出。
  • 原文地址:https://www.cnblogs.com/xingguozhiming/p/16014725.html
Copyright © 2020-2023  润新知