面向面经之华为学习经

第一篇:

针对:https://www.nowcoder.com/discuss/367702?type=all&order=time&pos=&page=1
##1.做过的项目中,哪些可以体现你的技术水平的地方?

2.js函数的4种调用方式讲一下

  • 一般形式的函数调用
  • 作为对象的方法调用
  • 使用call和apply动态调用
  • 使用new间接调用

3.this的指向有哪几种情况

  1. 作为函数直接调用,非严格模式下,this指向window,严格模式下,this指向undefined;
  2. 作为某对象的方法调用,this通常指向调用的对象。
  3. 使用apply、call、bind 可以绑定this的指向。
  4. 在构造函数中,this指向新创建的对象
  5. 箭头函数没有单独的this值,this在箭头函数创建时确定,它与声明所在的上下文相同。

4.regexp正则,讲讲贪婪模式

正则默认是贪婪模式,默认的贪婪模式会尽可能多的匹配所搜索的字符串。
非贪婪模式:
当?字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串
例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。

第二篇

https://www.nowcoder.com/discuss/392385?type=all&order=time&pos=&page=1

1.写一个input框,点击button按钮时验证输入框内容是否只为数字加字母

<body>
    <input type="text" id="a">
    <button type="button" id="b">验证</button>
</body>
<script>


var b=document.getElementById('b');
b.onclick=function(){
    var a=document.getElementById('a').value;
    var reg=/^[0-9A-z]{1,}$/;
    if(reg.test(a)){
        console.log(a);
    }else{
        alert("wrong");
    }
}
</script>

2.链表和数组的区别

  • 数组:----顺序的存储结构
    线性表数据结构:用一组连续的内存空间来存储一组具有相同类型的数据
    最大的特点是支持随机访问,但是插入和删除会比较低效,平均情况时间复杂度为O(n)

  • 链表---链式存储结构
    不需要一块连续的内存空间,他是通过指针来将一组零散的内存,空间扩容
    链表更适合插入、删除频繁的场景,查询的时间复杂度比较高

3.css渲染过程

1.处理html标记并构建dom树
2.处理css标记并创建cssom树
3.将dom和cssom合并成渲染树
4.根据渲染树来布局,以计算每个节点的几何信息
5.将各个节点渲染到屏幕上

css和js会阻塞
改变阻塞模式:
defer和async
对于inline-script是无效的,所以是针对设置了src属性的script标签
defer属性表示延迟引入的js,即这段js加载时html并未停止解析
等到document解析完毕且defer-script也加载完成之后,会执行多由于defer-script加载的js代码

4.http和https的区别

1.http端口不同,http是80,https是443
2.http的传输是明文传输,没有加密。http是有安全性的ssl加密传输协议
3.http连接无状态,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
4. https协议需要到ca申请证书,一般免费证书很少,需要交费

  • 子https的通信过程
    图片说明

5.cookie

cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。

  • cookie的应用场景
  1. 判断用户是否登录过网站
  2. 用来记录购物车或者用户使用偏好来制定推送
  • session的应用场景

1.登录验证信息

  • cookie和localStorage,sessionStorage区别
  1. cookie是会设置过期时间的,过期前一直有效,即使窗口或浏览器关闭,默认是会话期
  2. sessionStorage:是会话过程的储蓄,在当前浏览器窗口关闭后自动删除
  3. localStorage就是存储持久数据,浏览器关闭后数据也不会丢失

且cookie和localS在同源页面共享
而sessionS在打开的不同浏览器窗口不共享

cookie存储大小不超过4k
其他的可以存5m之多

  • cookie和session的区别
  1. cookie是存在客户端的,session是存在服务器的

6.tcp和udp的区别

  1. tcp是可靠传输,udp是尽量交付
  2. tcp面向字节流,udp面向报文
  3. tcp首部有20个字节,udp首部8个字节
  4. tcp连接是一对一,udp连接是一对多或者一对一
  5. tcp用拥塞控制,udp没有

7.进程间的通信

  1. 管道
    Linux下一切皆文件这我们必须牢记,所以管道就是一份文件,进程A能看到进程B也能够看到,同时进程A往管道中写数据进程B就可以从另一端读数据了。(在内核中申请一块固定大小的缓冲区,程序拥有写入和读取的权利)

2.消息列表
3. 共享内存

第三篇

https://www.nowcoder.com/discuss/345853?type=post&order=time&pos=&page=1

1.浏览器请求的过程

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务