【信条】手撕吊打面试官系列面试题

必备面试题

js基础

1. 用js打印一个乘法表

这一题面试官考察的是你关于js的打印相关基础api的熟悉程度,以及基本的数学常识,送分题

console.log(`
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
`)

斐波那契数列函数(30以内)

斐波那契数列,就是数列的每一个数字,都是前两个数字相加的和,常见面试题

斐波那契数列是一个可难可简单的题目,从暴力递归,到动态规划,以及数学地推公式和矩阵优化几个级别,这里要求了30以内,说明对性能要求不高,属于入门送分题级别

const arr = [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269]
var fib = function(N) {
    return arr[N]
}

手写Promise

考点:程序员虽然一直用键盘,但是本身字是门面,整体比较简单,写得好是加分项,写不好也不会把你挂掉【信条】手撕吊打面试官系列面试题_第1张图片

手写防抖节流

和上一题类似的考点,常见面试题 其他手写vue响应式,手写算法等都是类似的

【信条】手撕吊打面试官系列面试题_第2张图片

不用sort实现排序,比如输入[3,2,6,9,1,4,8] 返回排序后的数组

考点就是常见的各种排序算法,比如冒泡,快排等,可能还会考察空间时间复杂度等问题,也是众多前端想学算法的重要原因之一:面试要用

function mySort(arr){
 return [1,2,3,6,8,9]
}

请js实现一个permute函数,输入数字123, 打印出这三个数字的全排列

全排列看似简单,实则有一定的难度,需要面试者理解递归和回溯

function permute(){
 return [
     [1,2,3],
        [1,3,2],
        [2,1,3],
        [2,3,1],
        [3,1,2],
        [3,2,1],
    ]
}

代码笔试题

【信条】手撕吊打面试官系列面试题_第3张图片根据输入的特点,判断输出,主要是如何高效的筛选过滤条件

function findFirstAbsentPositiveNumber(arr) {
  if (arr[0] === 0) {
    if (arr[1] === 1) {
      if (arr[2] === 2) {
        return 5
      }
      return 2
    }
    return 1
  }
  return 1
}

框架和最佳实践

v-show和v-if的区别是啥

这一题主要考察vuejs基础的应用

两个功能差不多,都是控制元素的显示和隐藏,只不过v-show代码更秀一些

项目中的错误处理

来源

考察你的填坑能力,出现诡异bug的时候如何解决的思路更为重要,毕竟不是所有bug都是可预测的,重点是思路要清晰,这对程序员很重要

【信条】手撕吊打面试官系列面试题_第4张图片

平时设计过组件吗

这个考察组件化的知识,vue和react都是组件化最热门的框架,我们如果能抽离框架,展示组件化的思想,就是满分答案 我们用很常见的评级rate组件举例

"★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate);

谈一下你对SPA的理解

SPA一词源于拉丁文“Solus Par Agula”(SPA是指利用水资源结合沐浴、按摩、涂抹保养品和香熏来促进新陈代谢,满足人体视觉、味觉、触觉、嗅觉和思考达到一种身心畅快的享受。日程程序员工作比较辛苦,尤其肩颈手腕会僵硬,经常SPA会缓解这些症状,前端工程师必备,需要经常去SPA

你平时有阅读源码的习惯吗?

考察你工作饱和程度

回答:没有, 平时主要以项目为主

软技能

工作中和产品开会,需求过于繁琐如何沟通

这一题其实是考察软技能的, 也是程序员进阶和做管理者的必备的技能,如何横向沟通,协调需求带领团队拧成一股绳,并且让产品理解你们这个需求实现的难度

【信条】手撕吊打面试官系列面试题_第5张图片

部门需求太多,如何协调加班和家庭

这个也是软技能的一部分,想考察你的就是是不是符合 团队的文化,比如加班,还是wlb,理想的回答是不能太卑微的无脑加班,也不能说就是不干

一个摆件 表明中庸的态度, work life balance

【信条】手撕吊打面试官系列面试题_第6张图片

总结

以上回答都是扯淡,如果面试挨揍,请快点跑路  听说关注点赞的都拿到offer了

这些题不能帮你拿到20K的offer,但是帮你跑20KM估计问题不大  yeah


你可能感兴趣的:(算法,面试,java,html,字节跳动)