zoukankan      html  css  js  c++  java
  • 面试阿里巴巴前端开发工程师笔试部分

    来源:本人掘金文章

    一、笔试部分 (电话面部分还在整理,后续发出来)

    介绍:
    1) 最近挑战了下阿里和腾讯;偶尔阶段性的去面面试,个人觉得能对自己很好的检验,知道自己的不足,有没有和潮流技术脱轨等;
    2) 以下解法为后面自己优化过的... 有问题或有不对之处欢迎指正
    3) 笔试时,浏览器页面左边是编码区域,右边是视频区域,和面试官视频...
    4) 内置编辑器相当于用记事本编码,没有语法自动补全及提示,也不能运行调试;并且浏览器不能切换标签(不能百度)... 考验js功底

    要求:
    1) 笔试时间: 40分钟
    2) 笔试题目: 3道题,由易到难
    3) 笔试要求: 需要使用在线编辑器编写,笔试是实时通信,考官可以一直看到你的代码进度。不切换浏览器页签,不在线搜索原生函数的使用方式
    4) 笔试惩罚: 1)未使用在线编辑器,以不通过处理 2)一旦发现作弊,永久录入黑名单

    1. 实现一个函数,输入一个单词,返回输入单词是否符合全大写、全小写、首字母大写规则,正确返回true,错误返回false

    const checkValid = (word) => {
        let toU = word.toLocaleUpperCase();
        let toL = word.toLocaleLowerCase();
        let initialsToU = word.charAt(0).toLocaleUpperCase() + word.slice(1).toLocaleLowerCase();
        if (initialsToU === word || toU === word || toL === word) {
          return true
        } else {
          return false
        }
        console.log(checkValid('china'))
    }
    

    2. 实现一个方法,数组为升序返回1,数组为降序返回-1,乱序返回0

    const isSorted = (arr) => {
        let target = arr.toString().replace(/,/g, '')
        let riseTarget = arr.sort((a, b) => {
          return a - b
        }).toString().replace(/,/g, '')
        let dropTarget = arr.sort((a, b) => {
          return b - a
        }).toString().replace(/,/g, '')
        if (target === riseTarget) {
          return 1
        } else if (target === dropTarget) {
          return -1
        } else {
          return 0
        }
    }
    console.log(isSorted([3, 2, 1, 0]))
    

    3. 实现一个节流函数, 它返回一个新函数,新函数即时连续多次执行, 在wait的时间执行一次。并要求此节流函数第一次运行就会执行fn

    const throttle = (fn, wait) => {
        let isNext = true;
        return () => {
          if (!isNext) return;
          isNext = false;
          setTimeout(() => {
            fn()
            isNext = true;
          }, wait)
        }
    }
    window.addEventListener("resize", throttle(() => console.log('我是节流函数'), 1000))
    
  • 相关阅读:
    mongodb的安装和sql操作
    查看apache和nginx的负载和连接数情况
    ansible中playbook使用
    mysql导入导出命令详解
    生产环境下yum的配置
    firewalld的防火墙
    SOCK5代理服务器
    Linux系统基础优化总结
    服务器内存和缓存的优化
    activemq概念介绍
  • 原文地址:https://www.cnblogs.com/ljx20180807/p/13529970.html
Copyright © 2011-2022 走看看