面向面经之华为学习经
第一篇:
针对:https://www.nowcoder.com/discuss/367702?type=all&order=time&pos=&page=1
##1.做过的项目中,哪些可以体现你的技术水平的地方?
2.js函数的4种调用方式讲一下
- 一般形式的函数调用
- 作为对象的方法调用
- 使用call和apply动态调用
- 使用new间接调用
3.this的指向有哪几种情况
- 作为函数直接调用,非严格模式下,this指向window,严格模式下,this指向undefined;
- 作为某对象的方法调用,this通常指向调用的对象。
- 使用apply、call、bind 可以绑定this的指向。
- 在构造函数中,this指向新创建的对象
- 箭头函数没有单独的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的应用场景
- 判断用户是否登录过网站
- 用来记录购物车或者用户使用偏好来制定推送
- session的应用场景
1.登录验证信息
- cookie和localStorage,sessionStorage区别
- cookie是会设置过期时间的,过期前一直有效,即使窗口或浏览器关闭,默认是会话期
- sessionStorage:是会话过程的储蓄,在当前浏览器窗口关闭后自动删除
- localStorage就是存储持久数据,浏览器关闭后数据也不会丢失
且cookie和localS在同源页面共享
而sessionS在打开的不同浏览器窗口不共享
cookie存储大小不超过4k
其他的可以存5m之多
- cookie和session的区别
- cookie是存在客户端的,session是存在服务器的
6.tcp和udp的区别
- tcp是可靠传输,udp是尽量交付
- tcp面向字节流,udp面向报文
- tcp首部有20个字节,udp首部8个字节
- tcp连接是一对一,udp连接是一对多或者一对一
- tcp用拥塞控制,udp没有
7.进程间的通信
- 管道
Linux下一切皆文件这我们必须牢记,所以管道就是一份文件,进程A能看到进程B也能够看到,同时进程A往管道中写数据进程B就可以从另一端读数据了。(在内核中申请一块固定大小的缓冲区,程序拥有写入和读取的权利)
2.消息列表
3. 共享内存
第三篇
https://www.nowcoder.com/discuss/345853?type=post&order=time&pos=&page=1