TME校招 内容研发 前端二面

全程50min

1. react router、哈希和非哈希路由

2. FCP和LCP定义

3. 响应头keep-alive

4. 有哪些状态码

5. 状态码304含义

6. css多端适配

7. rem

8. 做过的印象最深刻的需求

9. webp格式图片为什么比png更小

10. 如何监听页面白屏/异常/图片加载失败

11.流式输出前端如何判断内容是否完整

12. 什么是流式输出

13. SEO

手撕:

大数相减

全部评论

相关推荐

01-09 17:49
已编辑
吉林大学 前端工程师
1、自我介绍2、项目拷打3、项目难点4、大文件上传断点续传怎么做的5、大文件上传并发上传控制器怎么做的6、怎么实现流式响应的处理7、虚拟列表定高和不定高的原理8、TCP 和 UDP 的区别9、SSE 和 WebSocket 的区别10、http1.0 和 http2.0 的区别11、输入 url 的解析过程12、首屏优化方式13、webpack 的打包优化方式(因为首屏优化谈到了 Tree Shaking,所以问了一下这个)14、vite 的构建原理15、vue3 的响应式原理16、ref 和 reactive 的区别17、ref 传入一个对象发生了什么(瞎答的,我说因为 ref 底层源码用到了 reactive,所以应该是直接调用 reactive,结果面试官说我答对了,hhhh)18、react 的常用 hooks(react 一点不会,,,面试官看我不会就没问了)19、项目中用到了 nestjs,说说用到了哪些装饰器(真的有公司日常开发会用 nestjs 么,,,我就是个切图仔,问我这个干什么)20、三道手撕:Promise.all(秒)接雨水(秒,面试官说我写的有点快,hhhh)股票买卖的最佳时机 II(写了一半,就写了个股票买卖的最佳时机的单区间的解法)21、反问:主要技术栈,写 react 的,感觉技术栈严重不匹配,虽然八股大部分都答出来了,但是感觉面试官觉得我 react 了解太少,估计要凉 😭公司业务————update:约二面了
查看22道真题和解析
点赞 评论 收藏
分享
得物、拼多多经常考,倒计时组件1.倒计时组件2.如何实现精确计时(setInterval 1s先就update以前知道写但没考虑到为什么,时间戳同步)// Countdown.jsximport React, { useEffect, useState, useRef } from 'react';/*** props:*  - endAt: number (timestamp ms) 或 Date*  - onFinish?: () => void*  - tickMs?: number (minimal tick granularity, default 1000)*/export default function Countdown({ endAt, onFinish, tickMs = 1000 }) {const endTs = typeof endAt === 'number' ? endAt : endAt.getTime();const [remaining, setRemaining] = useState(Math.max(0, endTs - Date.now()));const mounted = useRef(true);useEffect(() => {mounted.current = true;// initial syncfunction update() {const now = Date.now();const rem = Math.max(0, endTs - now);if (!mounted.current) return;setRemaining(rem);if (rem === 0) {onFinish?.();return;}// Align next update to wall-clock second boundary (or tickMs)const delay = Math.min(tickMs,1000 - (now % 1000) // align to next second for nicer UX);// If <1s left, use requestAnimationFrame for smoothnessif (rem <= 1000) {requestAnimationFrame(update);} else {setTimeout(update, delay);}}update();return () => {mounted.current = false;};}, [endTs, onFinish, tickMs]);const sec = Math.ceil(remaining / 1000);const mm = Math.floor(sec / 60);const ss = sec % 60;return (<div>{mm}:{String(ss).padStart(2, '0')}</div>);}
查看2道真题和解析
点赞 评论 收藏
分享
评论
1
8
分享

创作者周榜

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