数据结构与算法
这一块在笔试、面试的代码题中考核较多,其中常考的数据结构主要有:数组、链表、队列、栈、Set、Map、哈希表等,不同数据结构有不同的方法以及储存原理,这些算是技术岗的必备知识。算法部分主要分为两大块,排序算法与一些其他算法题。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
排序算法根据考频高低主要有:快速排序、归并排序、堆排序、冒泡排序、插入排序、选择排序、希尔排序、桶排序、基数排序、Timsort这十种,这类考核点要么是算法的时间、空间复杂度、稳定度,要么是直接手写代码,故在理解算法原理的同时,对JS语言版的排序算法代码也要加强记忆。
- 二叉树层序遍历
- B 树的特性,B 树和 B+树的区别
- 尾递归
- 如何写一个大数阶乘?递归的方法会出现什么问题?
- 把多维数组变成一维数组的方法
- 知道的排序算法 说一下冒泡快排的原理
- Heap 排序方法的原理?复杂度?
- 几种常见的排序算法,手写
- 数组的去重,尽可能写出多个方法
- 如果有一个大的数组,都是整型,怎么找出最大的前 10 个数
- 知道数据结构里面的常见的数据结构
- 找出数组中第 k 大的数组出现多少次,比如数组【1,2, 4,4,3,5】第二大的数字是 4,出现两次,所以返回 2
- 合并两个有序数组
- 给一个数,去一个已经排好序的数组中寻找这个数的位 置(通过快速查找,二分查找)
每种浏览器都有一套默认的样式表,即user agent stylesheet,网页在没有指定的样式时,按浏览器内置的样式表来渲染。这是合理的,像word中也有一些预留样式,可以让我们的排版更美观整齐。不同浏览器甚至同一浏览器不同版本的默认样式是不同的。但这样会有很多兼容问题,CSSReset可以将所有浏览器默认样式设置成一样。
如全局重置*{ padding: 0; margin: 0; border:}虽然能全部重置,但由于性能较低,不推荐使用。因为*需要遍历整个DOM树,当页面节点较多时,会影响页面的渲染性能。这个网站http://cssreset.com/有最新的CSSReset提供给大家参考。
normalize.css没有重置所有的样式风格,但仅提供了一套合理的默认样式值。既能让众多浏览器达到一致和合理,但又不扰乱其他的东西(如粗体的标题)。
什么是浏览器兼容问题?
所谓的浏览器兼容性问题,是指由于不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。
通俗来说就是,使用不同浏览器(Firfox、Chrome、IE6、IE7等)访问同一个网站或者页面时候,显示混乱便是不兼容
做为一个前端人员最烦恼的就是各种浏览器的兼容性问题。从微软的IE6、IE7、IE8到火狐公司的FIREFOX以及其他各公司的浏览器多多少少存在一定的兼容性问题。每次你在写HTML的时候是否会感到相当苦恼。以下我们简单介绍下目前世界流行的各主流浏览器。
1、IE浏览器
这款浏览器是目前世界上最流行的浏览器,该浏览器因微软公司的捆绑销售策略得以流行于全世界。但是到了现 在也是让前端人员最为头疼的浏览器。其版本从IE6开始一直到现在的IE9,其霸主地位无可动摇,对付该浏览器
推荐前端人员使用ietester工具测试其兼容性。
2、火狐浏览器
火狐浏览器的英文名是Mozilla Firefox,是Mozilla公司的产品,采用了Gecko引擎,支持多种操作系统,并且 该浏览器是开源的,使得该浏览器下的插件非常多。最出名的是firebug,这款插件可以说是前端人员必备的。 它能够调试所有网站语言,如Html,Css等,并且它的javascript调试功能,使用起来也非常方便。
3、360安全浏览器
360安全浏览器(360 safety browser)是360安全中心推出的一款基于IE内核的浏览器,是世界之窗开发者凤凰工 作室和360安全中心合作的产品。其兼容性和IE是一致的,但是也有部分细微的区别,如在CSS中使用了 * 号, 那么在该浏览器下将存在兼容性问题。
4、360极速浏览器
该款浏览器使用了无缝融合双核引擎webkit内核及兼容性最好的IE内核。上网速度快,兼容性好,安全性佳,是目前国内最安全的双核浏览器。
5、傲游浏览器
傲游浏览器和360极速浏览器相似,也是采用了无缝融合双核引擎webkit内核及兼容性最好的IE内核。
6、谷歌浏览器
谷歌浏览器(Google Chrome,又称Google浏览器),是一个由Google(谷歌)公司开发的开放原始码网页浏览 器。该款浏览器是基于其他开源浏览器的代码而开发的,包括WebKit和Mozilla,其稳定性、速度和安全性都相当不错。
7、搜狗浏览器
搜狗浏览器是首款给网络加速的浏览器,可明显提升公网教育网互访速度2-5倍,通过业界首创的防假死技术, 使浏览器运行快捷流畅且不卡不死,具有自动网络收藏夹、独立播放网页视频、flash游戏提取操作等多项特色功能,并且兼容大部分用户使用习惯,支持多标签浏览、鼠标手势、隐私保护、广告过滤等主流功能。
8、TT浏览器
腾讯TT浏览器是腾讯公司出品的一款集多线程、黑白名单、智能屏蔽、鼠标手势等功能于一体的多页面浏览器, 具有快速、稳定、安全的特点。因和腾讯旗下的各产品实现了接入,使得该浏览器可以很方便的操作腾讯旗下的 各娱乐产品。
除了以上浏览器还有很多其他的浏览器产品,但是对于前端人员来说,涉及到的浏览器兼容性其实主要有2类,一是基于IE内核的浏览器,二是基于非IE内核的浏览器,只要在这2个方面做好,基本就没问题了。
上文转载自:https://blog.csdn.net/xustart7720/article/details/73604559?utm_source=copy
什么是CSS Hack?
由于不同厂商的流览器或某浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),对CSS的支持、解析不一样,导致在不同浏览器的环境中呈现出不一致的页面展现效果。这时,我们为了获得统一的页面效果,就需要针对不同的浏览器或不同版本写特定的CSS样式,让它能够同时兼容不同的浏览器,我们把这个针对不同的浏览器/不同版本写相应的CSS code的过程,叫做CSS hack!
最后
本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等
前端视频资料:
4c3ab8389e65ecb71ac0)**
[外链图片转存中…(img-Szo4dSn4-1715890387188)]
前端视频资料:
[外链图片转存中…(img-9MJAfKfO-1715890387188)]