查漏补缺 -面试题

前两天参加了一个面试,我估计凉了,知识储备不够,将前几次面试的不会的,或答错的进行一次汇总:

笔试题:

用一个字节最多能编出(256种)不同码。

将栈存区内容提交到代码区中(提交代码到本地仓库)的命令:git commit

使用Git从当前分支创建一个新分支: git branch name

创建并切换到该分支 : git checkout -b name

请说出三种减少页面加载时间的方法:

  1. 减少HTTP请求数量(合并图片,合并文件)
  2. 优化图片,减小其尺寸
  3. 选择合适的图像格式
  4. 压缩js,css代码,把CSS放在顶部,把JS放在底部
  5. 避免空src和href
  6. 避免跳转
  7. 使用get来完成Ajax请求

什么是线程?什么是进程?线程和进程的区别

  • 进程是并发执行的程序在执行过程中分配和管理资源的最小单位
  • 线程是进程的一个执行单元
  • 一个程序至少有一个进程,一个进程至少有一个线程
  • 区别
    • 本质:进程是操作系统资源分配的基本单位,线程是任务调度和执行的基本单位。

    • 内存分配:系统在运行时会为每个进程分配不同的内存空间,建立数据表来维护代码段、堆栈段和数据段;除了CPU外系统不会为线程分配内存,线程所使用的资源来自其所属的进程的资源

    • 资源拥有:进程之间的资源是独立的,无法共享的。同一进程的所有线程可以共享本进程的资源,如内存、CPU

    • 开销: 每个进程都有独立的代码和数据空间,程序之间的切换会有较大的开销;线程可以看作是轻量级的进程,同一类线程共享代码和数据空间。每个线程有自己独立的运行程序计数器和栈,线程之间切换开销小。

    • 执行过程:每个进程都有一个程序入口,顺序执行序列;线程不能够独立执行,必须依存在应用程序中,由程序的多线程控制机制控制。

4+3+2+"1" 返回91
console.log("1"+2+"3"+4); 返回1234

原型

var A = function(){}
A.prototype.n = 1;
var b = new A();
A.prototype={
    n:2,
    m:3
}
var c = new A();
console.log(b.n,b.m,c.n,c.m);
//答案:1 undefined 2 3

this指向及作用域

var x = 3;
var foo = {
    x:2,
    baz:{
        x:1,
        bar:function(){
            return this.x;
        }
    }
}

var go = foo.baz.bar;
console.log(go());  //3
console.log(foo.baz.bar()); //1

 

近期面试:

jQuery中,Ajax的get()提交和post()提交区别

  • get()使用GET方法来进行异步提交,post()使用POST方法来进行异步提交

  • get请求方式将参数跟在url后进行传递用户可见,而post请求则是作为http消息的实体内容发送给服务器,用户不可见

  • post传输数据比get大

  • get请求的数据会被浏览器缓存,不安全

阻止事件冒泡

e.stopPropagation() //将防止事件冒泡
e.preventDefault() //将防止默认事件发生
return false //将同时指向这两个操作

jQuery中的Ajax-- 触发ajax请求的方法

  • $.ajax() jQuey最底层的Ajax的实现
  • load() 将一段html加载到DOM中
  • $.get() 用于get方式来进行异步请求
  • $.post() 使用 HTTP POST 请求从服务器加载数据
  • $.getScript()  加载一个JavaScript文件
  • $.getJSON() 用get方法加载一个JSON

 Ajax请求时,如何解释JSON数据

ajax是异步的,将ajax的datatype设置为json

$.ajax({
    url:"",
    dataType:"json"
});

以往面试:

去除字符串中的空格

//replace() 替代 正则匹配
var str1 = str.replace(/\s*/g, ""); 
str.split(" ").join("");

//扩展
var str2 = str.trim(); //trim()删除字符串两端的空白字符并返回一个新字符串
str.replace(/^\s/g, ''); //删除开头空格
str.replace(/\s$/g, ''); //删除后面空格
str.replace(/^\s|\s$/g, ''); //输出开头和尾部的空格

简述一下src和href的区别

src 用于替换当前元素,source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内(如js脚本,frame,img图片)

href 用于在当前文档和引用资源之间确认关系,指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的连接。

有些忘了...等我记起来再更新吧

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值