关于前端面试
1.老师你好,前几天面试了阿里实习, 面试官问了我个问题, 就类似于react是怎么实现数据的更新的(差不多就这样)然后我用的虚拟dom和real dom两个做比较然后找出不同再对页面进行更新,但是好像不是面试官想要的答案, 所以我很好奇答案应该是什么?
2.其实面试官还问我函数式编程(可能我提到了react可以写function组件, 所以问了我)跟面向对象编程有啥区别?好处在哪? 我也答不上来
3. 面试官还问了我一个问题,说如果现在就考虑用css, 我要让页面的某个元素消失,我应该怎么做?
这个问题我回答了很多种, 比如display设置成none, 改opacity, 设置position absolute的位置, margin的位置, overflow: hidden, 给另外一个元素用float来覆盖实现让另外一个元素消失. 但是我每次回答完面试官都说“还有吗”感觉我的回答就不是他期待的. 所以我想问想让一个元素消失,正确的解法是什么?
4.再之前还有腾讯的面试官问了我一个问题,就类似于假设我现在有1亿个账号,我需要对这种超大量的数据进行储存, 我该怎么储存使得我查找最快? 我不太明白怎么做也不太明白为什么前端面试会问这种问题?
正在回答 回答被采纳积分+1
同学你好,解答如下:
不同的人对于同一个问题的理解能力是不同的,所以有时候没办法确定面试官到底想听的是什么,甚至很多面试官自己都没有答案;这个时候,只需要把你理解的东西说出来就行,至于面试官能不能接受、认可,就看面试官自己了。
1、react数据更新,同学答虚拟dom也可以,毕竟数据更新后,会触发页面dom元素更新。但是个人更偏向于回答一些与this.setState方法相关的内容,因为this.setState的作用就是数据更新。
2、函数式组件和类组件最明显的区别在于写法不同:函数式组件中,没有生命周期函数、没有this,如果想实现更改数据、发送异步请求这类需求,需要借助额外的钩子函数来实现。优点之一是可以简化代码:如果我们的组件很简单,比如只需要根据传入的数据,输出jsx结构,那么使用函数式组件写法会让代码更简洁。
3、让元素消失,同学的答法是对的,还可以使用visibility:hidden。如果自己想不到了,就直接说“我能想到的就这些了,如果还有,您能帮我补充一下吗,我想学习一下”(可以和面试官交流)。
4、如果某个公司的面试题都是类似于“有1亿个账号,怎么存储”这样的,那么他可能需要业务能力比较高,层次比较高的程序员;这个时候,同学就把面试当成体验就行了,没必要纠结。对于我们而言,很难接触到处理“一亿个数据这种问题”,没有答案也很正常。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星