滴滴前端二面手撕

1.实现react的useEvent

function useEvent(fn) {
// 实现
}

function Demo () {
const [s] = useState(1)
// 返回值onEvent是函数,且是稳定的值
// log输出中,s永远输出的是最新的s的值
const onEvent = useEvent((a, b) => {
console.log('cb', a, b, s)
})
return (<XX onEvent={onEvent}>{s}</XX>)
}

2.类名压缩

// 压缩CSS类名,你给一个函数,接受传入的元素的class的值。然后压缩返回。需要做到多次调用不重复,全局唯一。
// 希望预期的是,对于所有的class的名字,都可以按照最短输出。例如 class-a -> a class-others -> b
// 当足够多之后是如 aa ab 这样的值

function optim (classNames) {
}

console.log(optim('class-a')) // 'a'
console.log(optim('xx')) // 'b'
console.log(optim('class-a')) // 'a'
console.log(optim('class-a  xx class-ee')) // 'a b c'
全部评论
今天面的吗家人
点赞 回复 分享
发布于 03-21 17:38 陕西

相关推荐

昨天 15:55
前端工程师
smile丶snow:实习经历这么简单吗?没有ai相关的吗?比如公司开会的时候没有提到过怎么更好的用ai工具吗?比如公司自己内部没有mcp,rules,skill什么的吗?这些都是目前很加分的项,因为现在大部分都在用这些。熟练运用ai工具,你有没有想过怎么更好的去用ai呢?如果有可以写上,如果没有可以简单了解一下,b站搜一下有一个讲ai编程原理的,其实就是客户端服务端不断发请求。 项目中我看提到了微前端,你有想过为什么要使用微前端吗?这个可以写在项目简介里面,比如团队人数过多维护困难,使用微前端解决了人数过多xxxx等问题。 主要职责这个css max什么优化页面什么的…最好不要出现api相关的。就写实现高性能响应式页面,移动端适配就行之类的。ai想过的名词可以加粗比如Skill Agent这些也要大写。 简历尽量保持一页。然后我个人觉得项目介绍你可以写一下为什么要写这个项目。比如因为线上事故频发,我自主研发/提出研发了这个终端运维平台。 再找ai包装一下吧。看着有点简单诶
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

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