百度 前端 一面 面筋(附答案)

整理了一份百度前端面筋,答案记录在评论里~

时长55min,问问题45min,手撕代码10min

1、TCP和UDP的区别?

2、如何在移动端实现1像素细线

3、什么是伪类?什么是伪元素?你所知道的伪元素?

4、盒模型 content-box和border-box

5、未知宽高实现垂直居中

6、cache-control有哪些值?

7、知道referer头部吗,直接请求服务器时refer是多少,顺便聊了其在CSRF中的作用

8、XSS和CSRF攻击是什么?什么原理?怎么防御?

9、二叉搜索js实现

10、手撕:给定一个字符串,输出该字符串所有排列的可能。如输入“abc”,输出“abc,acb,bca,bac,cab,cba”。

#前端工程师精选面经合集##百度##牛客创作充电计划##前端#
全部评论
1、TCP和UDP的区别? TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP的缺点: 慢,效率低,占用系统资源高,易被攻击,TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。 UDP的优点: 快,比TCP稍安全,UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如:UDP Flood攻击…… UDP的缺点:不可靠,不稳定 因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。 基于上面的优缺点,那么: 什么时候应该使用TCP: 当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。 在日常生活中,常见使用TCP协议的应用如下: 浏览器,用的HTTP FlashFXP,用的FTP Outlook,用的POP、SMTP Putty,用的Telnet、SSH QQ文件传输 ………… 什么时候应该使用UDP: 当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。 比如,日常生活中,常见使用UDP协议的应用如下: QQ语音 QQ视频 TFTP …… 有些应用场景对可靠性要求不高会用到UDP,比如长视频,要求速率 小结TCP与UDP的区别: 1.基于连接与无连接; 2.对系统资源的要求(TCP较多,UDP少); 3.UDP程序结构较简单; 4.流模式与数据报模式 ; 5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。
3 回复 分享
发布于 2023-03-14 22:52 上海
4、盒模型 content-box和border-box box-sizing: Content-box包含content; box-sizing: border-box包含content + padding + border
3 回复 分享
发布于 2023-03-14 23:08 上海
7、知道referer头部吗,直接请求服务器时refer是多少,顺便聊了其在CSRF中的作用 Origin只有域名,referer包含域名+路径(请求来自哪个页面); 地址栏直接输入url、刷新的时候referer都是null csrf可以在服务短检查refer,过滤来自恶意网站的请求(但refer可以被篡改
2 回复 分享
发布于 2023-03-14 23:13 上海
9、二叉搜索js实现 var searchBST = function(root, val) { let node = root; while(node && node.val !== val) { node = node.val > val ? node.left : node.right; } return node; };
2 回复 分享
发布于 2023-03-14 23:15 上海
10、给定一个字符串,输出该字符串所有排列的可能。如输入“abc”,输出“abc,acb,bca,bac,cab,cba”。 var permutation = function (s) {     var res = new Set();     var mypor = (old, str) => {         if (str.length == 0) res.add(old);         for (var i = 0; i < str.length; i++) {             var copy = [...str];             copy.splice(i, 1); //去除重复的字符             mypor(old + str[i], copy)         }     }     mypor('', s.split(''))     return Array.from(res); };
2 回复 分享
发布于 2023-03-14 23:15 上海
2、如何在移动端实现1像素细线 https://www.nowcoder.com/discuss/465290938051534848?sourceSSR=users
1 回复 分享
发布于 2023-03-14 23:06 上海
3、什么是伪类?什么是伪元素?你所知道的伪元素? 伪类用于选择DOM树之外的信息,包含那些 匹配指定状态的元素 ,比如:visited,:active;或是 不能用简单选择器进行表示的信息 ;表示元素的一种状态。 伪元素包含那些满足一定逻辑条件的DOM树中的元素,比如:first-child,:first-of-type,:target
1 回复 分享
发布于 2023-03-14 23:07 上海
5、未知宽高实现垂直居中 https://www.nowcoder.com/discuss/465294017899532288?sourceSSR=users
1 回复 分享
发布于 2023-03-14 23:13 上海
6、cache-control有哪些值? Private:只有客户端可以缓存 Public:客户端、代理服务器也可以缓存 no-store:不使用强、协商缓存 no-cache:不使用强缓存 s-maxage:代理服务器的缓存时间,单位为秒 max-age:有效时间,单位为秒
1 回复 分享
发布于 2023-03-14 23:13 上海
8、XSS和CSRF攻击是什么?什么原理?怎么防御? Xss: 跨域脚本执行,在html中植入黑客js代码,让客户端自动执行黑客代码 Xss防御: 用户输入转义、过滤;content-security-policy设置白名单;cookie设置httpOnly为true Csrf: 跨域请求伪造,诱导向目标网站A用户发送请求,带上A的cookie Csrf预防: 检查origin和referer;cookie设置samesite为strict或lax;使用token验证;
1 回复 分享
发布于 2023-03-14 23:14 上海
请问楼主是什么时候参加的笔试
1 回复 分享
发布于 2023-03-15 13:33 广东
再投携程试试,岗位还有很多
1 回复 分享
发布于 2023-03-15 14:15 重庆
楼主是校招面试还是实习面试呀
1 回复 分享
发布于 2023-03-15 23:06 陕西
二叉搜索树js实现?
点赞 回复 分享
发布于 2023-03-20 14:20 北京

相关推荐

14 83 评论
分享
牛客网
牛客企业服务