网易前端实习 一面
其实一面给我的感觉不太好,虽然我确实菜,但是整体下来有点不太舒服,当时也觉得是凉了,所以也没问什么特别的问题。
但是这个其实还有个二面,不过我当时已经收到了别的offer就没记录这场面试了。二面面试官就给人很礼貌的感觉,所以我后面就真心请教了一下面试官如何看一些原理性的东西和源码的内容,面试官提到说可以看别人的博客,也可以看别人写的轮子,麻雀虽小五脏俱全,看懂了轮子其实也就看懂了源码,也建议我把一个框架学通学精,理解底层原理,这样即使框架不同但是原理相同,不过是封装上的区别而已。
我这场录音有段没录上,所以可能只是一部分,不过这几个我都印象比较深,其他没印象的应该也不太难,所以问题不大。
- styled-component 和 less
styled-components: 组件式的写法 不用再想每个样式对应的 className 了,有 JSX 组件名就行 不用嵌套 不用担心有 dead code,如果有Typescript,并且启用了 no-unused-vars,会自己检查 不好的方面: 生成的 className 是随机字符串,不方便 debug 默认没有 CSS 语法高亮和提示 less: 要想类名,很累 类名容易冲突。为了解决冲突需要自己写嵌套,但是结构容易越写越深 从 CSS 找组件困难,删完一处组件之后,不太敢删对应样式,怕别处也用到,没有安全感 组件找 CSS 也困难,有时会不知道对应样式写在哪
1 2 3 4 | import styled from 'styled-components' const Button = styled.button` color: red; ` |
- 类组件和函数组件的区别
- hooks
- useCallback和useMemo的原理
- 编程题:
我提了学了ts,所以让我看 // 1. 请补充 ? const getArgs = (args: ?) => { const { foo, foo2 ....} = args; }; // 2. 请补充 ? theme 只有 blue, red, classic const IThemeProps = ?; const getThemeConf = (theme: IThemeProps) => { return .... } // 3. 需要录入新同事的信息场景,实现这个 Iinfo // 姓名 name 必填 // 性别 gender 数字0是女性,1位男性,必填 // 是否已离职 validate 布尔值,必填 // 入职时间 time 字符串 必填 // 员工家乡 字符串 非必填 interface Iinfo = { }
2.数组拍平
#GE##实习#3.一个数组,里面有string,有number,请实现一个函数,可以获取某个元素,出现的次数,并且该元素第一次数出现的下标(如果元素未出现,则下标为-1)