前端面试题0010707

js和c语言有什么区别
1.c言可以通过调用系统API来实现多线程,可以通过多线程来提高阻塞操作(主要是IO)时的CPU利用率,而JavaScript主要是单线程,JavaScript的可能阻塞的操作都由JavaScript运行时提供的异步API来完成     
2.JS是脚本语言有解释器执行   c需要编译成机器语言   
3. C语言需要程序员手动管理内存(主要指堆内存的申请和释放),而JavaScript的内存是由解释器来管理的;   
4.JavaScript是动态类型语言,变量的数据类型在运行时仍可变化;

es5和es6有什么区别
1、在变量方面es6提供了let和const这两种新的声明方法,let和const的出现大大的避免了变量污染的问题,局部作用域变量声明
2. this指向 es6新增了箭头函数,箭头函数不会改变this的只想,这样我们在调用方法或者执行函数的时候就可以不用担心this指向
3. es6还提供了解构赋值的功能

es5的继承的实现过程是什么?用es5写一个继承,让sub子类继承base基类
1、原型链继承
原型链继承的原理是直接让子类的原型对象指向父类实例,当子类实例找不到对应的属性和方法时,就会往它的原型对象,也就是父类实例上找,从而实现对父类的属性和方法的继承。
2、借用构造函数继承
构造函数继承,即在子类的构造函数中执行父类的构造函数,并为其绑定子类的this,让父类的构造函数把成员属性和方法都挂到子类的this上去,这样既能避免实例之间共享一个原型实例,又能向父类构造方法传参。
3、组合继承
组合上述两种
4、寄生式组合继承
解决构造函数被执行两次的问题, 我们将指向父类实例改为指向父类原型, 减去一次构造函数的执行。

es5有哪些作用域?es6有哪些作用域?
全局作用域 局部作用域
全局作用域 局部作用域 块级作用域{}

实现一个bind函数,function(func,obj)实现把里面的函数绑定这个对象

实现object.entries()函数

vue里面的数据双向绑定的原理
(一)Vue实现数据双向绑定主要是:采用数据劫持结合发布者–订阅者模式的方式,通过object.defineProperty()来劫持各个属性的setter、getter,在数据变动时发布消息给订阅者,触发相应的监听回调。当把一个普通JavaScript对象传给Vue实例来作为它的data选项时,Vue将遍历他的属性Property,用object.defineProperty将它们(Property)转为getter/setter。用户看不到getter/setter,但是在内部它们让Vue追踪依赖,在属性被访问和修改时通知改变。
(二)Vue的数据双向绑定将MVVM作为数据绑定的入口,整合observer,compile和watch三者,通过observer监听自己的model的数据变化,通过compile来解析编译模板指令(vue中是用来解析{{}}),最终利用watcher搭起observer和compile之间的通信桥梁,达到数据变化->视图更新。视图交互变化(input)->数据model变更双向绑定效果。
全部评论
这题也太偏了吧
2 回复 分享
发布于 2022-07-18 17:38

相关推荐

12-27 22:36
门头沟学院 Java
点赞 评论 收藏
分享
Tom哥981:让我来压力你!!!: 这份简历看着“技术词堆得满”,实则是“虚胖没干货”,槽点一抓一大把: 1. **项目描述是“技术名词报菜名”,没半分自己的实际价值** 不管是IntelliDoc还是人人探店,全是堆Redis、Elasticsearch、RAG这些时髦词,但你到底干了啥?“基于Redis Bitmap管理分片”是你写了核心逻辑还是只调用了API?“QPS提升至1500”是你独立压测优化的,还是团队成果你蹭着写?全程没“我负责XX模块”“解决了XX具体问题”,纯把技术文档里的术语扒下来凑字数,看着像“知道名词但没实际动手”的实习生抄的。 2. **短项目塞满超纲技术点,可信度直接***** IntelliDoc就干了5个月,又是RAG又是大模型流式响应又是RBAC权限,这堆活儿正经团队分工干都得小半年,你一个后端开发5个月能吃透这么多?明显是把能想到的技术全往里面塞,生怕别人知道你实际只做了个文件上传——这种“技术堆砌式造假”,面试官一眼就能看出水分。 3. **技能栏是“模糊词混子集合”,没半点硬核度** “熟悉HashMap底层”“了解JVM内存模型”——“熟悉”是能手写扩容逻辑?“了解”是能排查GC问题?全是模棱两可的词,既没对应项目里的实践,也没体现深度,等于白写;项目里用了Elasticsearch的KNN检索,技能栏里提都没提具体掌握程度,明显是“用过但不懂”的硬凑。 4. **教育背景和自我评价全是“无效信息垃圾”** GPA前10%这么好的牌,只列“Java程序设计”这种基础课,分布式、微服务这些后端核心课提都不提,白瞎了专业优势;自我评价那堆“积极认真、细心负责”,是从招聘网站抄的模板吧?没有任何和项目挂钩的具体事例,比如“解决过XX bug”“优化过XX性能”,纯废话,看完等于没看。 总结:这简历是“技术名词缝合怪+自我感动式凑数”,看着像“背了后端技术栈名词的应届生”,实则没干货、没重点、没可信度——面试官扫30秒就会丢一边,因为连“你能干嘛”都没说清楚。
点赞 评论 收藏
分享
评论
7
25
分享

创作者周榜

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