康博嘉面试-待完善

1、JS+jQuery

(1)操作dom的方法

JS说明jQuery说明
getElementById()id查找
getElementsByTagName()标签名查找
getElementsByClassName()类名查找
querySelector()css选择器(第一个)查找
querySelectorAll()css选择器(所有)查找
getElementsByName()name属性查找
document.title设置标题
document.body设置内容
createElement()创建元素节点
createTextNode()创建文本节点
appendChild()添加结点
JS说明jQuery说明
A.appendChild(B)插入父元素末尾
A.insertBefore(B,ref)插入父元素的某个元素之前
A.removeChild(B)删除父元素下的子元素
obj.cloneNode(bool)复制元素
A.replaceChlid(new,old)替换元素

2、HTML+CSS

(1)url、href和src的区别

URL(Uniform Resource Locator)统一资源定位符
URL结构分为两部分: 模式(或称协议) + 服务器名称(IP地址)

http——超文本传输协议资源
https——用安全套接字层传送的超文本传输协议
ftp——文件传输协议
mailto——电子邮件地址
ldap——轻型目录访问协议搜索
file——当地电脑或网上分享的文件
news——Usenet新闻组
gopher——Gopher协议

URL的分类:绝对URL 和 相对URL

hre(Hypertext Reference)超文本参考
当前属性定义的需要的锚点或资源之间定义一个链接或者关系
浏览器明白当前资源是一个样式表,页面解析不会暂停


src (Source)源
嵌入当前资源到当前文档元素定义的位置
在浏览器下载,编译,执行这个文件之前页面的加载和处理会被暂停

3、W3C标准

4、ES6

5、Vue

(1)MVC 和 MVVM 区别

MVC:Controller里面把Model的数据赋值给View。

MVVM:ViewModel层(数据的双向绑定)实现视图、模型相互转换
​ 实现的方式是:DOM事件监听。View不能和Model直接通信

MVVM与MVC最大的区别:实现了View和Model的自动同步

Vue没有完全遵循MVVM思想:Vue提供了$refs这个属性,让Model可以直接操作View

(2)为什么data是一个函数

数据以函数返回值形式定义,这样每复用一次组件,就会返回一分的data

各个组件实例维护各自的数据

所有组件实例共用了一份data,就会造成一个变了全都会变的结果。

(3)vue组件有哪些通讯方式

1、props 和 e m i t ∗ ∗ 父 组 件 ∗ ∗ 通 过 ∗ ∗ p r o p s ∗ ∗ 向 ∗ ∗ 子 组 件 ∗ ∗ 传 递 数 据 ∗ ∗ 子 组 件 ∗ ∗ 通 过 ∗ ∗ emit **父组件**通过**props**向**子组件**传递数据 **子组件**通过** emitpropsemit触发事件父组件**传递数据

2、$parent 和 $children 获取当前件的父组件和当前组件的子组件。

3、$refs 获取组件实例。

4、vuex 状态管理。

(4)Vue的生命周期方法有哪些?一般在哪一步发送请求?

beforeCreate实例初始化之后,在当前阶段 data、methods、computed 以及 watch 上的数据和方法不能被访问

created 实例已经创建完成之后被调用,数据观测、属性和方法的运算、watch/event 事件回调,没有 e l ( 获 取 V u e 实 例 关 联 的 D O M 元 素 ) 。 如 果 非 要 想 与 D O M 进 行 交 互 , 可 以 通 过 ∗ ∗ v m . el(获取Vue实例关联的DOM元素)。 如果非要想与 DOM 进行交互,可以通过**vm. elVueDOMDOMvm.nextTick** 来访问 DOM。

beforeMount

mounted

beforeUpdate

updated

beforeDestroy

destroy

activated

deactivated

qs

6、Webpack

7、Git

8、React

9、计算机网络

10、其他

(1)同步和异步的区别?

举例:

同步:对讲机
异步:QQ

普通B/S(浏览器/服务器模式)(同步):提交请求->等待服务器处理->处理完成(期间浏览器不能干其他事)
AJAX技术(异步):请求通过事件触发->服务器处理(浏览器可以运作其他事)->处理完成

同步是阻塞模式,两个线程运行相关,其中一个线程阻塞等待另一个线程运行。发送方付出数据后,等待接收方响应后才发下一个数据包的通讯方式。
异步是非阻塞模式,异步是两个线程毫无相关,自己运行自己的。发送方发出数据后,不等的接收方的响应,接着发送下一个数据包的通讯方式。

(2)session和cookie的区别

cookie和session都是存储信息的手段
cookie存储在客户端(浏览器),容易伪造
session存储在服务器端,基本不可能。
session id(Tomcat称为JsessionId) = session存在cookie中的key

cookie因为存储在客户端,所以可能会存在cookie欺骗问题(修改session id,从而直接获取访问服务器的资格),而session通常更加安全

若信息均存储在session中,当访问增多时候,会比较占据服务器性能。

cookie因为存储在客户端,因此受到存储性能限制。单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie

cookies 本质就是http协议中一个配置项,很容易在多台服务器共享;session 不能在多台服务器共享,除非专门使用了分布式的session框架处理了。

(3)并发访问下信息放session中的性能隐患

将数据放在session中,可能会造成并发访问下服务器的压力过大

找一些服务器实现实现负载均衡
导致访问的服务器可能不太一样,此时就需要保证服务器数据同步
因为要保持数据一致性,并且共享session时候不能返回用户信息,不然会出异常,
可用性和一致性的矛盾问题

(4)若禁用了cookie那么session能不能使用

能使用。

URL重写技术
把session id直接附加在URL路径的后面

表单隐藏字段
服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。

(5)一次完整的HTTP请求过程

浏览器地址栏输入URL,7次

域名解析
发起TCP三次握手
建立TCP连接后发起http请求
服务器响应请求,返回结果
浏览器得到html标签代码
浏览器解析html代码中的资源,例如js,css,img等
浏览器对页面进行渲染并呈现给用户

域名解析

浏览器首先搜索自身的DNS缓存(缓存时间比较短,大概只有1分钟,且只能容纳1000条数据),找到自身缓存中是否有对应的条目,并且没有过期
如果没有过期,解析结束
没找到,搜索操作系统自身的DNS缓存
操作系统的DNS缓存中也没找到,读取hosts文件
hosts文件中也没找到,浏览器会发起一个DNS(域名服务协议)系统调用


发起TCP的三次握手

User-Agent(一般是指浏览器)会以一个随机端口(1024<端口<65535)向服务器的web程序(常用的有httpd,nginx等)80端口发起TCP的连接请求

1、客服端首先发送一个连接试探
2、服务器监听到连接请求报文后,如果同意建立连接,则向Client发送确认
3、Client收到确认后还需要再次发送确认,同时携带要发送给Server的数据

(5)get和post

get提交则提交的数据信息会在URL框中出现,因此传输数据量有限不安全,但是传输速度快

post提交则提交的数据信息不会出现在URL框中,因此传输数据量没有限制,相对比较安全,但是传输速度相比较慢

比较

1、get在浏览器回退时是无害的,而post会再次请求。
2、get产生的URL地址可以被收藏,而post不会。
3、get请求会被浏览器主动缓存,而post不会,除非手动设置。
4、get请求只能进行URL编程,而post支持多种编码方式
5、get请求参数会被完整保留在浏览器历史里,而post中的参数不会被保留。
6、get请求在URL中传送的参数有长度限制,而post没有。
7、对参数的数据类型,get只接受ascll字符,而post没有限制。
8、get不如post安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
9、get参数通过URL传递,post放在request body中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值