字节前端实习二面 2.29 已挂

55min

忘记录音了,几乎没有八股文,菜就多练吧

回忆一下还记得的

1.问项目

2.以你自己的理解说一下写vue和react的区别,不要背八股文

3.zustand是怎么实现和其他组件通信交互的,什么原理

4.你了解的css有哪些技术写法,你怎么做技术选型

还有一点什么忘了

手写题

1.实现一个类的私有属性,内部方法能访问,类外不能访问。不会,试了用symbol和闭包,不对,面试官提示用this和map,没写出来太菜了,有大佬可以教教

2.实现lodash的_.get(object, path, [defaultValue])方法

菜就多练

全部评论
var Person = (function() { var privateData = new WeakMap(); function Person(name) { privateData.set(this, { name: name }); } Person.prototype.getName = function() { return privateData.get(this).name; }; return Person; }()); 这是私有属性的一种方式, 新版的js语法又 this.#name = 'dong'; #代表私有,如果用babel插件转换就会转换成上面weakmap的形式
7 回复
分享
发布于 02-29 19:42 北京
我补充一下那个用WeakMap的原因,首先ES6中类内部定义的所有方法都是不可枚举的(所以使用闭包当然是可以实现私有属性的需求),那么我们思路就是找到一个不可枚举的方法或结构——WeakMap的键就是不可枚举的,这意味着你无法用任何方式获取它的键,从而你也就无法获取具体的值(除非你知道那个具体的键),这个值也就是我们的私有属性。
3 回复
分享
发布于 03-04 19:43 四川
滴滴
校招火热招聘中
官网直投
class E{ constructor(){ this.map = new Map() this.map.set(this,{'A':1}) } getA(){ return this.map.get(this)['A'] } } let e = new E() console.log(e.getA()) 网上看到的
1 回复
分享
发布于 02-29 17:21 北京
使用ES6中的Symbol,可以创建一个独一无二的属性名,这样外部无法直接访问,但不是真正的私有属性
点赞 回复
分享
发布于 02-29 17:06 浙江
zustand都问啊,之前面百度面试官甚至都没听说过zustand
点赞 回复
分享
发布于 03-01 09:14 陕西
为啥闭包不行呀 function MyClass(privateValue) { // 私有属性 const privateProperty = privateValue; // 公开方法可以访问私有属性 this.getPrivateProperty = function() { return privateProperty; }; } // 创建实例 const myInstance = new MyClass("secret"); // 通过公开方法访问私有属性 console.log(myInstance.getPrivateProperty()); // 输出 "secret" // 尝试直接访问私有属性 console.log(myInstance.privateProperty); // 输出 undefined
点赞 回复
分享
发布于 03-01 12:57 台湾
楼主是发感谢信知道挂的吗?还是hr通知
点赞 回复
分享
发布于 03-01 20:58 广东
··
点赞 回复
分享
发布于 03-07 16:08 山东
好难啊
点赞 回复
分享
发布于 03-15 19:35 广东

相关推荐

点赞 评论 收藏
转发
11 49 评论
分享
牛客网
牛客企业服务