杭州玳数科技前端实习面经

只有一轮技术面。
1、ES6中常用的语法
let、coonst关键字,扩展操作符,解构赋值,Map和Set,模块化

2、数组能解构吗
(1)解构一下const a = [1,2,3],如何拿到第一个元素
const [first,second,third] = a; console.log(first)
(2)解构一下const a = [1,.....],后面有多少个元素我并不知道
const [first,...rest] = a; console.log(...rest)

3、对象的合并
最开始说了concat(但这个是数组的),然后说了bind,忘记说all了,面试官提示也可以用解构赋值

4、Map
(1)Map的应用场景?
说了集合的概念,无重复值

(2)Map的key可以放什么类型,Symbol这些可以放吗?
可以的,Map的key可以放任意类型,普通对象的键值对当中只能是字符串和Symbol

5、Set
(1)Set的应用场景?
说感觉不是很了解。面试官说了可以用在数组去重,瞬间想起来了

(2)Set的数组去重返回的是一个标准的Array吗?
不是,可以用Array.from或者扩展运算符转换成Array

6、CSS中用flex布局处理垂直水平居中
(1)已知内容大小
用align-items和justify-content都改成center
(2)未知内容大小,用transform有什么写法?
没有用transform来处理过,不会

7、(场景题)页面中点击div,使其从左边移到右边,可以用css动画效果,还有transform修改,还有margin。从性能的角度来看,用哪一个好一点。
我说用CSS动画更好,也就是transition。(面试官说不太对,但是具体是哪一个也没太听懂

8、(场景题)假如说我现在有一个业务,要在业务代码里面去修改Ant-Design的某一个组件里面的classname的某些样式,我应该怎么写才能操作到其内部。(怎么修改到三方UI框架里面的样式?)
用 :global。(可以通过 :global 选择器来覆盖 Ant Design 组件内部的样式。这种方法允许你在局部作用域的 CSS 中应用全局样式规则,覆盖第三方库中的样式。)

9、React
(1)(场景题)我清除我localstorage里面的某一个键值对,组件卸载的时候,我怎么能知道组件卸载了。(问的一脸懵,但是我猜应该是跟useEffevt相关)
在useEffect中写一个return方法,在里面执行自己的业务逻辑。
(2)如果想要计算某些东西,用什么hook比较合适一点。我要计算的这个值不是一直在变的,意味着我要缓存。(缓存就跟useMemo有关)
缓存的话我用的是useMemo,缓存一些数据,只有当依赖项改变的时候,才会重新进行计算,
(3)有一个和useMemo很像的东西,就是React.Memo,有了解过吗
只听说过,应该比较的不是某一个参数,而是比较的传入的props。面试官修正我的话:其实路是对的,它是来缓存这个组件更新还是不更新,这就是用memo来控制的,如果有个性化的东西就在props中的方法写,给你新的props和旧的props来写你的校验的逻辑。
(4)useCallback
用来优化函数性能,比如说它可以缓存一个函数的实例,可以避免每次渲染页面的时候不会再次创建同一个函数。
(5)状态管理器用过吗
用过Redux。

10、最近在项目中有没有关于性能优化的。
说了最近用useMemo缓存数据的部分。

11、反问
(1)后面还有几轮技术面
(2)部门负责的主要业务

总结:
面试官还是很好的,一直在引导我说,问的也都不是特别深入,薄弱点就是在css中transform和less预处理。整个面试只有30min,还是很友好的,毕竟只是实习面试。后续还有几个实习面试的,多多准备准备!

#前端面经##前端实习准备#
全部评论
是实习秋招两手抓吗?
点赞 回复 分享
发布于 2024-08-22 01:32 山东

相关推荐

自从我室友在计算机导论课上听说了“刷 LeetCode 是进入大厂的敲门砖”,整个人就跟走火入魔了一样。他在宿舍门口贴了一张A4纸,上面写着:“正在 DP,请勿打扰,否则 Time Limit Exceeded。”日记本的扉页被他用黑色水笔加粗描了三遍:“Talk is cheap. Show me the code。”连宿舍聚餐,他都要给我们讲解:“今天的座位安排可以用回溯算法解决,但为了避免栈溢出,我建议用动态规划。来,这是状态转移方程:dp[i][j] 代表第 i 个人坐在第 j 个位置的最优解。”我让他去楼下取个快递,他不直接去,非要在门口踱步,嘴里念念有词:“这是一个图的遍历问题。从宿舍楼(root)到驿站(target node),我应该用 BFS 还是 DFS?嗯,求最短路径,还是广度优先好。”和同学约好出去开黑,他会提前发消息:“集合点 (x, y),我们俩的路径有 k 个交点,为了最小化时间复杂度,应该在 (x/2, y/2) 处汇合。”有一次另一个室友低血糖犯了,让他帮忙找颗糖,他居然冷静地分析道:“别急,这是一个查找问题。零食箱是无序数组,暴力查找是 O(n)。如果按甜度排序,我就可以用二分查找,时间复杂度降到 O(log n)。”他做卫生也要讲究算法效率:“拖地是典型的岛屿问题,要先把连通的污渍区块都清理掉。倒垃圾可以用双指针法,一个指针从左往右,一个从右往左,能最快匹配垃圾分类。”现在我们宿舍的画风已经完全变了,大家不聊游戏和妹子,对话都是这样的:“你 Two Sum 刷了几遍了?”“别提了,昨天遇到一道 Hard 题,我连暴力解都想不出来,最后只能看题解。你呢?”“我动态规划还不行,总是找不到最优子结构。今天那道接雨水给我整麻了。”……LeetCode 真的害了我室友!!!
老六f:编程嘉豪来了
AI时代还有必要刷lee...
点赞 评论 收藏
分享
评论
2
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务