聪明核桃教育Java面试_聪明核桃教育面试题

1. 算法题:一个n位数的字符,由0~9之间的随机数组成,如何把字符里所有为0的数,全部移动到字符的末尾显示?

//思路:用正则全局匹配,把为0的字符全部替换为空,再计算0的个数,添加到尾部即可

let Number = '1002343400434';

function getSort(str){

//把字符串里为0的数都替换成空

let str1 = str.replace(/0/g,'');

//获取原始字符串的长度

let count = str.length;

//获取去除0之后的字符串的长度

let count2 = str1.length;

//两者之差就是字符为0的个数

let num0 = count - count2;

//定义一个变量来代表字符末尾0的值

let sum = 1;

//遍历为0的个数,有多少个就让多少个10相乘

for(let i=0;i

sum = sum*10;

}

//最后把除去0的字符,乘以sum,即为最终的值

let res = str1 * sum;

console.log(res);

}

getSort(Number);

2. 说说闭包的含义?

使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。

闭包有三个特性:

1.函数嵌套函数

2.函数内部可以引用外部的参数和变量

3.参数和变量不会被垃圾回收机制回收

3.说说你对原型链的理解?

每个构造函数都有一个porototype的属性,该属性指向一个对象,此对象可以被重新定义,实例化后的对象上都有一个__proto__的属性,该属性也指向原型对象,

原型对象上的属性和方法能被所有实例化对象所继承;

4. 说说你对作用域链的理解?

作用域链的最前端始终是当前执行的代码所在环境的变量对象(如果该环境是函数,则将其活动对象作为变量对象),下一个变量对象来自包含环境(包含当前还行环境的环境),

下一个变量对象来自包含环境的包含环境,依次往上,直到全局执行环境的变量对象。全局执行环境的变量对象始终是作用域链中的最后一个对象。

大白话说意思就是:假如一个函数内要使用一个变量,但当前作用域里并没有声明此变量,那么它会跟随作用域链向上依次查找,先查找当前函数所处的作用域,如果没有再继续

向外层查找当前函数所处作用域的函数的所处作用域,直到全局执行环境的变量对象,全局执行环境的变量对象始终是作用域链中的最后一个对象;

5. 说说你对VUE的理解?

1.组件化,便于维护和管理;

2.代码重用性高;

3.面向数据,做好数据的管理,vue底层自动做页面的渲染;

6. 如果在代码里直接用script标签引用一个域名,会不会存在跨域问题?

什么是同源策略?同源策略是由Netscape提出的的一个著名的安全策略,现在所有支持javascript的浏览器都会使用这个策略,

所谓同源就是指,域名、协议、端口号相同,当在一个浏览器打开两个网站的页面时,某一个网站在执行js脚本时会检查访问的资源是否属于本域范围,

只有本域范围内的资源才能被访问。

通过script标签跨域,我们通过xhr对象请求不同域上的资源是不可以的,但是却可以通过script标签引用不同域上的文件,jsonp就是利用这个来实现的。

7. 事件捕获和事件冒泡?如果事件捕获和冒泡同时发生,会先处理哪个(事件流)?

先捕获阶段-->目标阶段-->冒泡阶段

8. 在之前的项目中遇到过哪些问题?

1. 兼容性问题?----》说几个;

2. 跨域的问题;

3. 踩过的坑;

9. ajax的底层实现?

第一步:实例化ajax对象;

第二步:使用open方法,确定请求方式和路径;

第三步:使用send方法发送请求;

第四步:使用监听事件onreadystatechange(),判断状态码:readystate == 4 && status == 200;

10. 响应状态码常见的都有哪些?分别是什么含义?

200 表示从客户端发来的请求在服务器端被正常处理了。

404 表示服务器端无法找到请求的资源。

500 表示服务器端在执行请求时发生了错误。

301 表示永久重定向。

302 表示临时重定向。

11. 单页面应用?如果在单页面里做跳转用什么实现?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项实战经验。 使用场景及标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值