[杭州]1.5 年前端求坑位;技术画像:ts+react;业务画像:电商 SaaS 后台+小程序

2023-03-24 15:14:35 +08:00
 blueFat

求一份前端开发的坑位~

学历:20 届 二本非科班 履历:1.5 年电商平台 ISV(toB)前端开发,就打磨了 2 个项目,PC 和小程序的 SaaS 打单软件 定位:中高级。

技术水平过关,求知欲良好。

  1. 熟悉常用的数据结构与算法。能读懂 Ts 类型编程,写一些业务中需要的基础泛型工具。基本的工程化能力。
  2. debug 过 react 源码,并能阅读和理解其机制。读过 Vue 的 MVVM ,虚拟 DOM ,模板语法的实现。

业务理解力和沟通协作能力良好。

  1. 帮带过 3 个新人,完成 3 个 0~1 项目,2 个改造项目。
  2. 善于利用现有工具和平台优化工作流程。

闲聊时刻

试试看在 v2er 上有没有机会!有什么意见或者建议还请大家发言指导指导!

有需要的求捞一下,留个邮箱给您发简历!

1898 次点击
所在节点    求职
16 条回复
tangzui
2023-03-24 18:57:29 +08:00
妈呀。你们这都中高级了?
1016
2023-03-24 19:07:36 +08:00
自己给自己定的级别吗?

1.5 年 20 届 二本 还是非科班

你这些技能最多算是个初级
lzgshsj
2023-03-24 19:12:08 +08:00
v2 刚有个 2020 年工作但是 4 年经验,厂内定位 senior 的。现在又来个二本非科班 1.5 年的中高级。😂
towave
2023-03-24 19:15:33 +08:00
职级越来越水了ᥬ😂᭄
TaoLoading
2023-03-24 20:29:39 +08:00
只看你的这两点技术描述,定位中高级太夸张了
jklopsdfw
2023-03-24 21:35:20 +08:00
中高级的话,要不简单介绍一下 react api ?

- 一般在什么场景用 useState ,什么场景用 useRef
- useEffect 一般放什么逻辑,如何精确让 deps list 真实的反应业务逻辑,而不是莫名其妙加很多 state 到 deps list 。可以随便贴个日常写的比较复杂的 useEffect 吗
- 为啥需要 useEffectEvent ,是补齐了什么场景(即 react 一直缺失了什么?)
jklopsdfw
2023-03-24 21:43:12 +08:00
问 api 的行为非常逗。不过 react 就是这么神奇,并不是所有中高级都能写对最基础的业务逻辑。
houzhen
2023-03-25 05:29:59 +08:00
@jklopsdfw 你说的对
nbhaohao
2023-03-25 09:51:09 +08:00
个人感觉如果对 React 和 Vue 的实现原理有一定理解的话, 如果 “中高级” 是 中级或高级的话, 我觉得也没啥问题啊 😂
前端只要对框架理解够深, 工程化的东西熟悉, 日常工作其实就没什么太大问题了.
当然更细的内容就面试考察呗.
blueFat
2023-03-25 19:00:47 +08:00
@jklopsdfw 额-0-,因为在上家就是高级,不过是小厂是比较水的我知道。去年有面过阿里,问了下定位能给到中级的。
blueFat
2023-03-25 19:02:37 +08:00
@nbhaohao 哈哈-0- 高级肯定是木的拉。没想到帖子这么多人回呢哈哈,这里还是活跃的
blueFat
2023-03-25 19:04:20 +08:00
@towave 哈哈哈,见笑见笑拉。
blueFat
2023-03-25 19:06:14 +08:00
@TaoLoading 是的,但是我知道这里是论坛,直接码很长的简历上去是没人看的,只能把我的情况描述一下。毕竟没有开源项目或者说是明星项目背书。
blueFat
2023-03-25 20:18:33 +08:00
@jklopsdfw 简单回复一下,可能不是很对哈,多指教。

1. useState 用在有状态组件,状态更新后 React 就会自上而下检索更新相关联的组件。
useRef 用于保存 React 实例 或者是存储任何数据,他改变之后是不会触发组件渲染的,在组件生命周期内其保存的数据都不会改变,要手动赋值。

2. useEffect 意味着副作用,当 deps list 中的 state 变更后会在渲染完成后执行。适合放一些在 state 变更需要自动触发的逻辑。要注意的就是,他的执行时机是在浏览器渲染完成之后,其他场景都可以。

deps list 确实就是 react 现阶段的硬伤,依赖项很容易就特别多。让 deps list 真实的反应业务逻辑,做好状态的细粒度管理。
1. 是组件按职责抽象拆分好,状态适当的聚合。
2. 得当的命名。
3. 写注释哈哈,有些 effect 中逻辑,的确就是要排除某个 state 的。
4. useEffect 内部的回调函数,在封装时与状态无关的的善用 useRef 保存,与状态有关的善用 useCallback ,这样可以将 deps list 拆分到别的函数中。

平时写的啊大部分是业务里的,不方便贴了,我贴一个倒计时组件的,相对通用点的。就是一个弹出层,打开必须等倒计时结束才能关闭。

3. useEffectEvent 我其实没听过哈哈,不太懂是个啥。。望指教
```ts

type PorpOptions = {
afterClose?: () => void
count?: number
}

type Props = PorpOptions & IModalProps<boolean>

const ClearCacheTipWindow = ({ visible, hidden, afterClose, count = 3, ...props }: Props) => {
const [countdown, setCountdown] = React.useState(count)
const intervalRef = React.useRef<NodeJS.Timer>()

useEffect(() => {
if (visible) setCountdown(count)
}, [count, visible])

useEffect(() => {
let canUpdate = true

if (countdown !== 0) {
intervalRef.current = setInterval(() => {
if (count !== 0) {
canUpdate && setCountdown(c => --c)
}
}, 1000)
}

return () => {
canUpdate = false
clearInterval(intervalRef.current)
}
}, [count, countdown])

// 倒计时文本
const remainCount = React.useMemo(() => {
return countdown > 0 ? <>{countdown}s</> : null
}, [countdown])

// 可否点击以关闭弹层
const disabled = React.useMemo(() => {
return countdown !== 0
}, [countdown])

return (
<Modal
title='保存成功'
afterClose={() => afterClose?.()}
width={480}
centered
getContainer={false}
closable={false}
maskClosable={false}
keyboard={false}
visible={visible}
onCancel={() => hidden(false)}
footer={[
<Button key='primary' disabled={disabled} onClick={() => hidden(true)} type='primary'>
已完成上述操作{remainCount}
</Button>
]}
{...props}
>
<>巴拉巴拉的内容<>
</Modal>
)
}


```
blueFat
2023-03-25 20:21:59 +08:00
@lzgshsj 哈哈-0-见笑拉 ,应该是现在阶段在初中级,要努力去对标中高级!
um1ng
2023-03-26 21:38:41 +08:00
那我岂不是专家了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/926859

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX