专业技能
一般来说,面试官会根据你的简历内容去提问,但是技术基础还有需要自己去准备分类,形成自己的知识体系的。简单列一下我自己遇到的一些题
- HTML+CSS
- JavaScript
- 前端框架
- 前端性能优化
- 前端监控
- 模块化+项目构建
- 代码管理
- 信息安全
- 网络协议
- 浏览器
- 算法与数据结构
- 团队管理
- 开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
最近得空把之前遇到的面试题做了一个整理,包括我本人自己去面试遇到的,还有其他人员去面试遇到的,还有网上刷到的,我都统一的整理了一下,希望对大家有用。
其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器等等
由于文章篇幅有限,仅展示部分内容
实时通讯
以往网站由于HTTP协议以及浏览器的设计,实时的互动性相当的受限,只能使用一些技巧来「仿真」实时的通讯效果,但HTML5提供了完善的实时通讯支持。
-
WebSocket: 实时的socket联机
-
Web Workers: 以往 JavaScript 都是 single thread,透过 Worker 可以有多个运算
-
Notifications: 原生的提示讯息,类似像OS X的Growl提示
档案以及硬件支持
不知道大家有没有发现,在Gmail等新的网页程序当中,已经可以透过拖拉的方式将档案作为邮件附件?这就是这部份HTML5档案的功能中的Dragn Drop和File API。
-
Dragn Drop: HTML元素的拖拉
-
File API: 读取用户本机计算机的内容
-
Geolocation: 地理定位
-
Device orientation: 手持装置的方向
-
Speech input: 语音输入
语义化
语义化的网络是可以让计算机能够更加理解网页的内容,对于像是搜索引擎的优化(SEO)或是推荐系统可以有很大的帮助。
-
New tags: 新的标签,像是 header、 section等
-
Application tags: 也是新的标签,像是 meter、 progress
-
等
-
Microdata: 加入语义的数据让搜索引擎等网站可以正确显示
-
Form type: form可以加入的type便多了,包含email和tel等属性,浏览器会协助进行数据格式的验证
多媒体
Audio、Video的卷标支持以及Canvas的功能应该是大家对于HTML5最熟悉的部份了,也是许多人认为Flash会被取代的主要原因。
-
Audio video: 影片和音乐的原生播放支持
-
Canvas: 2D的绘图功能支持
-
Canvas 3D: 3D的绘图功能支持
-
SVG: 向量图支援
CSS 3
CSS3支持了字体的嵌入、版面的排版,以及最令人印象深刻的动画功能。
-
Selector: 更有弹性的选择器
-
Webfonts: 嵌入式字体
-
Layout: 多样化的排版选择
-
Stlying radius gradient shadow: 圆角、渐层、阴影
-
Border background: 边框的背景支持
-
Transition: 组件的移动效果
-
Transform: 组件的变形效果
-
Animation: 将移动和变形加入动画支持
总结: -
函数式编程其实是一种编程思想,它追求更细的粒度,将应用拆分成一组组极小的单元函数,组合调用操作数据流;
-
它提倡着 纯函数 / 函数复合 / 数据不可变, 谨慎对待函数内的 状态共享 / 依赖外部 / 副作用;
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
Tips:
其实我们很难也不需要在面试过程中去完美地阐述出整套思想,这里也只是浅尝辄止,一些个人理解而已。博主也是初级小菜鸟,停留在表面而已,只求对大家能有所帮助,轻喷🤣;
我个人觉得: 这些编程范式之间,其实并不矛盾,各有各的 优劣势。
理解和学习它们的理念与优势,合理地 设计融合,将优秀的软件编程思想用于提升我们应用;
所有设计思想,最终的目标一定是使我们的应用更加 解耦颗粒化、易拓展、易测试、高复用,开发更为高效和安全;