😎手撕吊打面试官系列面试题

Souleigh ✨ 等级 134 0 0

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

考点:程序员虽然一直用键盘,但是本身字是门面,整体比较简单,写得好是加分项,写不好也不会把你挂掉 image

手写防抖节流

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

不用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],  
    ]  
}  

代码笔试题

image 根据输入的特点,判断输出,主要是如何高效的筛选过滤条件

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都是可预测的,重点是思路要清晰,这对程序员很重要 image

平时设计过组件吗

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

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

谈一下你对SPA的理解

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

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

考察你工作饱和程度

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

软技能

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

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

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

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

一个摆件 表明中庸的态度, work life balance image 总结 --

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

预览图
收藏
评论区