魔门塔 前端日常实习 2022.12.6 一面二面已OC

一面 12.6 45min

  1. 自我介绍
  2. 简历上项目都是自己写的吗,有没有跟别人合作过
  3. 数组怎么删除指定位置的元素

答了遍历一遍找想要的,splice, slice,filter

  1. 本地有开发环境吗,然后开始共享屏幕

用filter写了一下,刚才的删除

  1. 怎么让一个函数暂停一段时间再执行,没写过,开始很慌,用await, promise写了一下,但好像有点理解错意思了。面试官说外面可以看起来跟同步一样。应该是可以不传函数进去,单独写一个延时的,在外层用await来调用,回头再来写一下
async function delayFn(fn, delay) {
  await new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve()
    }, delay)
  })
  fn()
}

delayFn(() => {
  console.log('3秒后执行我~')
}, 3000)

  1. 对象数组转树,每个对象有自己的uid, pid,没写过,答了可以用递归实现,写了半天,没写出来。
  2. 说说防抖、节流,写个节流吧
  3. React学了那些
  4. 说说useEffect
  5. 建个React项目,随机生成验证码,100以内加减乘除,判断用户输入的答案能否通过验证
import React, { memo } from 'react'
import { useState } from 'react'

const getRandomNum = () => {
  return Math.floor(Math.random() * 100)
}
const getRandomFlag = () => {
  const arrFlag = ['+', '-']
  return arrFlag[Math.floor(Math.random() * arrFlag.length)]
}
const App = memo(() => {

  const [num1, setNum1] = useState(getRandomNum())
  const [num2, setNum2] = useState(getRandomNum())
  const [flag, setFlag] = useState(getRandomFlag())

  const isTrue = (value) => {
    switch (flag) {
      case '+':
        return num1 + num2 === value
      case '-':
        return num1 - num2 === value
    }
  }

  // 记录输入框的值
  const [inputValue, setInputValue] = useState('')
  const handleInputChange = (e) => {
    setInputValue(e.target.value)
  }
  // 验证
  const handleBtnClick = () => {
    if (isTrue(inputValue)) {
      console.log('验证成功')
    } else {
      console.log('验证失败')
    }
  }

  return (
    <div>
      <div className='show'>
        {
          `请输入验证码:${num1} ${flag} ${num2}`
        }
      </div>
      <input type="text" value={inputValue} onChange={handleInputChange} />
      <button className='comfirmBtn' onClick={handleBtnClick}>验证</button>
    </div>
  )
})

export default App

不考研吗,下学期没课了吗,啥时候能到岗,实习多久,有没有在面别的公司,转专业留了一年级,

反问,现在水平找日常实习够吗。

感觉没怎么说过话,一直在写题写题。

手写题4/5

下来把数组对象转树和树转数组对象还要再学一下~

后续:一面结束后1h左右hr打来电话,约了下午6:30二面,好紧张,加油!!

二面 12.6 18:30 1h

二面我称之为八股文吟唱面~

三个手写题 3/3

记不清顺序了,简单回忆一下

  • 在北京有亲戚朋友吗

没有,说了打算和学校一个一起学前端的同学一起来北京,原本他也今天晚上面试,不过字节突然给他往后推了十多天

  • 什么时候来北京,实习打算,你同学面的哪,来北京怎么住,打算租房吗
  • 为什么不投字节
  • 说说项目认为比较难的地方

说了一下~之后就没问过项目,可能是没啥值得问的qaq

  • let、const、var
  • 箭头函数普通函数区别
  • 看你用过Vue,Vue3怎么实现数据绑定的

答了vue2的和vue3的分别用的什么

  • vue3为什么用proxy

defineproperty缺点,proxy优点

  • typescript的interface和type有什么区别

没答好,还是要好好看一下ts

  • 说说es6的类

答了es6的class是语法糖,实际还是转化成ES5的组合寄生继承

  • 说说组合寄生继承

八股吟唱~~

  • es6继承用什么写

extends

  • 原型和原型链
  • ESM中export和export default区别
  • 看你项目里还用到nodejs,说说nodejs的require和他们的区别

说了基本的导出一个对象,引入一个对象

  • 除了使用上的还有什么区别吗

之前学的时候看过,忘了...答了执行方式有区别,具体没答出来

  • 说说事件循环

八股吟唱ing~~

  • 说说Promise

八股吟唱ing~~

  • Promise常用方法

答了then, catch, all, race, 其他的想不起来了

  • race是干什么的
  • 手写Promise.all

一开始写了个无序的。

  • promiseall有序吗

有序、改了一下代码

  • 手写Promise并发请求数量控制
  • HTTP除了get、post还知道哪些请求

答了PATCH、DELETE、OPTIONS,其他的想不起来了

  • OPTIONS是干什么的
  • 知道哪些请求头,响应头

想起来啥说啥

  • 缓存相关相应头,怎么设置
  • flex布局
  • position有几种,分别是干什么的
  • docker熟悉哪些命令

答了pull,logs,start,image,ps...

  • 没有用过docker build吗,平时怎么用docker的

平时用的最多的还是logs

  • 小程序,用原生框架写的,问还知道哪些小程序框架

答了taro、uniapp,但都没学过

  • 还有个算法题,跳台阶
  • 博客写过可视化学习的笔记,问知道哪些可视化的库

说自己简单学过canvas、svg,知道three.js,聊到了蚂蚁集团的antv团队

  • 除了简历上写的,还了解什么技术

说了能写Java、Python、C++

  • 还有一些记不太清了
  • 又想起来几个
  • nginx怎么用的

说没手动配过,平时用的都是可视化界面(宝塔面板),但能照着文档配置

  • 不是问这个,是问你用nginx是要解决什么问题

答了nginx可以部署静态资源,解决跨域...其他想不起来了

  • 自己以后什么打算,说了打算就业,问什么方向,我说刚开始学,还没确定,想先保证毕业以后能生存...
  • 反问来了是做什么的,可视化,地图、GIS相关,主要React,还有一些业务系统
  • 对学习有什么建议

说看得出我是准备过的,背的东西对于你们太简单了,谁都能背。算法能力欠缺,他不太看重算法,但是基本的算法要刷

qaq希望能过呜呜呜,球球过了吧

二面感受:不是特别熟的东西就别往简历上写了,写熟悉typescript给自己挖了坑~

下去还要再面向简历学习一下,把技术基础打扎实!!

后续

现在是北京时间2022.12.6 23:20,回忆完二面面经,感觉好他妈慌啊呜呜呜,想去魔门塔。

12.8中午收到hr电话,晚上接受offer,约了12.12入职

全部评论
momenta很累
1 回复 分享
发布于 2022-12-17 16:59 吉林
苏州吗
1 回复 分享
发布于 2022-12-17 17:13 江苏
大佬旷世和momenta都拿offer啦?
1 回复 分享
发布于 2022-12-23 10:12 江苏
冲冲冲
点赞 回复 分享
发布于 2022-12-13 19:45 北京
我也在北京Momenta,才入职
点赞 回复 分享
发布于 2022-12-25 09:13 北京
一个面试官笑死 题目基本一模一样
点赞 回复 分享
发布于 2022-12-27 03:58 北京
这也太强了
点赞 回复 分享
发布于 2023-03-09 05:58 英国

相关推荐

##&nbsp;1.&nbsp;自我介绍##&nbsp;2.&nbsp;商品无限加载的话,怎么判断有没有拉到底部?##&nbsp;3.&nbsp;怎么判断元素的上下左右边距?##&nbsp;4.&nbsp;Vue/React组件缓存怎么实现##&nbsp;5.&nbsp;如何解决首屏加载时间过长问题##&nbsp;6.&nbsp;React中提供了什么方案解决首屏加载时间过长##&nbsp;7.&nbsp;React.lazy搭配什么使用?##&nbsp;8.&nbsp;React&nbsp;Hooks&nbsp;中&nbsp;`useEffect`&nbsp;的了解程度##&nbsp;9.&nbsp;Echarts渲染引擎SVG和Canvas区别##&nbsp;10.&nbsp;Echarts&nbsp;中,`xAxis`&nbsp;的&nbsp;`type`&nbsp;属性用于指定坐标轴的类型,`value`&nbsp;和&nbsp;`category`&nbsp;两种类型的区别##&nbsp;11.&nbsp;React&nbsp;中实现&nbsp;Echarts&nbsp;的响应式##&nbsp;12.&nbsp;真实&nbsp;DOM&nbsp;和虚拟&nbsp;DOM&nbsp;的区别##&nbsp;13.&nbsp;多页应用和单页应用的区别##&nbsp;14.&nbsp;单页应用相对于多页应用的缺点##&nbsp;15.&nbsp;什么是SEO(Search&nbsp;Engine&nbsp;Optimization)即搜索引擎优化&nbsp;,为什么单页应用不利于SEO##&nbsp;16.&nbsp;什么是SSR(Server&nbsp;-&nbsp;Side&nbsp;Rendering)服务器端渲染##&nbsp;17.&nbsp;let&nbsp;const&nbsp;var的区别##&nbsp;18.&nbsp;数组的遍历有哪些方法##&nbsp;19.&nbsp;深拷贝和浅拷贝的区别,常见的深拷贝的实现方法##&nbsp;20.&nbsp;`JSON.stringify()`用于深拷贝时存在的缺点##&nbsp;21.&nbsp;在&nbsp;JavaScript&nbsp;中,执行上下文和执行栈是什么##&nbsp;22.&nbsp;call()`、`apply()`和`bind()的区别##&nbsp;23.&nbsp;什么是防抖和节流##&nbsp;24.&nbsp;场景题:写了一个搜索框,然后去调后端接口去查一些东西,类似淘宝的搜索,你觉得它是用的防抖还是节流?##&nbsp;25.&nbsp;地址栏输入&nbsp;URL,在敲入回车后,发生了什么?##&nbsp;26.&nbsp;React&nbsp;的生命周期函数##&nbsp;27.&nbsp;React&nbsp;常用&nbsp;Hooks##&nbsp;28.&nbsp;类组件中写的定时器想卸载,在Hooks怎么操作##&nbsp;29.&nbsp;useEffect除了写定时器,还能做什么?##&nbsp;30.&nbsp;React父组件如何获取子组件的值##&nbsp;31.&nbsp;手撕:已知级联组件的下拉菜单列表结构,输入一个值,找出其对应的value值以及对应的所有父节点value真是一场酣畅淋漓的八股盛宴啊,手撕也抽象的一笔,不知道能不能过#实习##前端实习##momenta#
点赞 评论 收藏
分享
评论
23
58
分享

创作者周榜

更多
牛客网
牛客企业服务