最后
在面试前我花了三个月时间刷了很多大厂面试题,最近做了一个整理并分类,主要内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。
包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。
-
HTML5新特性,语义化
-
浏览器的标准模式和怪异模式
-
xhtml和html的区别
-
使用data-的好处
-
meta标签
-
canvas
-
HTML废弃的标签
-
IE6 bug,和一些定位写法
-
css js放置位置和原因
-
什么是渐进式渲染
-
html模板语言
-
meta viewport原理
需要注意的是,{}
中的内容只能是 JS
表达式,不能是语句!
上面例子中,在标签体内使用了 JS
表达式,然而,在标签的属性中,也可以通过同样的方式进行插入。
const name = ‘jonas’
const style = ‘my_class’
function App() {
return (
Hello {name}
);
}
刷新发现标题有了一个类名,虽然没有定义这个类的样式,但是这个类名确实被加上了。
需要注意的是,在 JSX
语法中,因为 class
是 JS
的一个关键字,所以使用了 className
来表示一个标签的类名。
JSX
这种语法无法被浏览器引擎直接识别的,它需要被转译为浏览器可以识别的 JS
。
然而这个转译的工作是由 Babel
完成的,它会把 JSX
转译为一个 React.createElement()
的函数调用。
示例:
const element = (
Hello, world!
);
转译:
const element = React.createElement(
‘h1’,
{className: ‘greeting’},
‘Hello, world!’
);
然而,React.createElement()
实际上是创建了一个对象:
// 注意:这是简化过的结构
const element = {
type: ‘h1’,
props: {
className: ‘greeting’,
children: ‘Hello, world!’
最后
今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!
可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。