基本信息
时间:2023.6.7
时长:70min
base:上海
面试岗位:前端 日常实习
问题
- 自我介绍
- 你对java web很熟是吧?
- 为什么选择前端
- 你倒是挺实诚啊,别人都是说喜欢前端,前端所见即所得,你倒是挺诚实啊
- 正好我做过Java,讲一下SpringBoot启动原理,包括Bean的初始化?
- 那前端的原理你有准备吗
- 前端路由的几种方式,之前的hash,再比如现在的brother什么的,没听清,简单说一下(我说的hash和history,brotherxxxx是啥,我纳闷)
- hash除了做路由,本质上web给它设计的作用是啥?
- 列表跳到详情,然后再到列表,如何让列表做到不刷新(我说的vue的Keep-alive,但是面试官并不满意)
- keep-alive是基于什么做缓存的?
- 我乱跳,keep-alive都是生效的吗?
- 权限管理除了rbac,还有什么方式?
- excel中的那些信息放入MySQL?
- 也就是excel的sheet编程了MySQL的table
- 字段怎么映射呢?
- 是用拼SQL去写的SQL吗?
- 你好像过往的经验前端不是特别多,更多在服务器端
- 前端响应式方式有哪几种,以及有什么优缺点
- 再介绍一下rem和em
- 什么是物理尺寸,什么是逻辑像素?
- px是物理像素还是逻辑像素
- 谈谈es学习的新内容(我说了const,let,proxy,数组api)
- 在es5没有const,如何实现const,实现常量不可变
- object.defineProproty和proxy的区别
- object.defineProproty中除了set get还有哪些可配置的属性,说一说
- js的迭代器是如何设计的?
- js中string是可迭代的吗?
- es6有Map,map和{}有啥区别
- {}做键他只能是string,map的键什么都可以,如果是你,你如何实现自己的map,让key是什么都可以
- 智力题:两个鸡蛋,100层楼,找到鸡蛋临界楼层,如果鸡蛋没碎可以继续复用,用最少的次数找到临界摔碎点
手撕代码
- 会玩麻将吗?(不会)
- 换一道题
// 1+2*3+6*(4+5) 求值
//题目中只会有 + * ( ), 和数字, 类似于逆波兰式求值,我撕了一半,撕太久了,没撕完被叫停了
//要求:
// 1、代码要优雅,
// 2、*的优先级比+大
// 3、先算括号里面的
// 4、白板手撕,不能用IDE
- 实习可以干多久?
- 你对你目前实习的岗位有了解吗?
- 为什么做前端,前端做的东西比较广泛,要求前端是什么都要了解一点,而且什么都要会做,所以前期很分散,你有没有足够的心态,时间去学习,比如说前端的3D,地图,各种东西,各种东西如小程序,koa,webgis,等等
- 这么多东西的情况下,你职业方向上是不是能确定一直做前端?
- 反问环节,我问了具体做什么的。
总结
面试官还是很和蔼,问题难度较高,场景问题较难。
#面经##字节跳动##字节#