面试官也会看的前端面试材料
自学前端,已经是资深人士,在两家大公司有五年工作经验,总结一下自学前端的经历,希望对初学者有所帮助,少走弯路。
零,入门
大二的时候断断续续看了一些网站开发的知识,但就是学不会,徘徊在门外。直到有一天,一个老师找到我帮忙维护一个高校网站,说可以拿工资。我虽然动心,但什么都不懂。但老师告诉我只要改改文字和颜色,我就信了……
从此我走上了一条不归路,答应过的事情就要做到,于是每天废寝忘食地学习网站开发和维护相关的知识,大概过了半个月,我感觉我做到了。
维护一个网站需要学习:服务器
就是运行在机房的电脑,有独立的公网IP,现在个人学习可以对应云服务器,阿里云ECS。
如果要通过域名访问服务器,需要添加DNS解析
网页服务
当时的服务器是使用 IIS 的系统,现在主流是 Linux 系统和 Nginx。按照官方文档安装 Nginx,使用默认配置,基本上一个 Web 服务就跑起来了。作为一个前端开发人员,学习这个水平,用很多年也够了。
一种后端语言
当时网站是由一位前辈开发的。现在可以选择PHP,
数据库
那时候就用过了,现在你可以从MySQL或者MySQL开始学习,学会增删改查就够了。
Web 开发相关
就是HTML、CSS和。最难的两点大概就是CSS布局和DOM操作了。这个前期可以在网上看CV学习一下。
代码管理
这个项目甚至没有代码管理工具,只有一个文件夹
服务器和后端的知识如果只了解基础知识的话,并不需要花费太多时间。但这些基础知识却意义重大。它们可以帮助前端开发人员清楚地了解自己在项目中所做的事情,避免迷失方向。
自学方法
那时网上的资源还没有现在多,主要还是靠看书,从图书馆借了不少相关的技术书,大多都是老旧垃圾,得出的一个结论是,一般来说老外写的技术书更有价值,很多大牛的技术博客都给了我很大的帮助。
由于当时缺乏资源和指导,我们走了很多弯路。
如果你达到可以通过搜索引擎或者看书解决一般项目未实现的需求的程度,基本就可以入门了。如果不追求在大公司做大项目,其实学了这个就可以开始工作了。
1. 关于实习
校招前的暑假,我在一家小公司实习了两个月,虽然也是做网站开发,每天埋头苦干,但在那家公司几乎什么都没学到,除了能更熟练地使用各种 API 之外,技术上没有任何成长,唯一的收获就是下定决心要去大公司,当然小公司做的产品也不简单,功能也齐全,但还是用比较原始的开发方式~
至此,你就可以成为一支普通技术团队的主力啦~
2. 校园招聘面试前一个月
校园招聘的过程基本上是残酷的,但幸运的是,我申请的大多数公司都给了我面试的机会。我在面试中第一次听说了很多概念,前几次面试我基本上都是去听新概念的。
搜索引擎优化
搜索引擎优化是一看就懂的东西,做过个人网站的人都知道,从前端开发的角度来说,就是用一些方法配合搜索引擎在网页上录入信息。
W3C 规范
事实证明,您每天阅读的文档和书籍最初都是由 W3C 编写的。
关闭
这大概是开发者遇到的第一个不太直观理解的概念,在日常个人小项目开发中我几乎没用过,也没见过,所以一直没能理解,只能强行记下答案。
性能优化
性能优化到底是什么鬼?能实现功能就好了。我上网查了下别人总结的资料,发现这个确实能优化性能,让网页速度更快。这个其实没那么难理解,有些书上有总结,但是都没有网上八卦这么直接完整。
深复制 浅复制
我能理解它,但我还没有找到它的用例。
原型链
用来实现继承的,我没用过,太麻烦,所以逼着自己死记硬背答案。
事件委托
也叫事件委托,是一种基于事件冒泡和捕获的事件绑定方法。在实践项目中,都是直接绑定事件的,从来没有想过用事件委托,但是听说了这个概念之后,很快就理解了。
盒子模型、清除浮动、居中对齐
CSS 的问题似乎较少。
常用表达
我从来没有在项目中使用过它,但是看了文档后你就会知道。
常见基础知识
数组和字符串的一些常用方法。由于我平时写小项目比较多,所以对这些基本方法还是很熟悉的。
Ajax 和跨域
部分更新内容没有刷新,这很容易理解。
常见算法、时间复杂度
这是大公司都会问的问题,当时复习了几种常见的排序算法,基本满足要求。
实现 $ 函数
什么?你自己可以写...原来你可以自己写,而且看起来也不是太难。
还有一个问题我记得特别清楚,某产品每天有1亿用户访问,服务器处理不了怎么办?
我……就是来为它服务的!
校招面试期间主要补充了一下自己的知识体系,学习了一些以前没有关注过的概念,然后快速学习,不懂的就先死记硬背答案。有了一定的基础之后,理解这些概念也不是太难。现在网上各种面试经验和文章都有,上面的概念恐怕已经问不到现在的毕业生了。现在的校招算法问的是红黑树和手写,竞争越来越激烈了。
这个问题曾经是关于 React 和 Vue 框架的。历史正在重演。
3. 正式工作
正式工作之后我发现虽然还是在做写作,但是跟以前的个人操作已经完全不一样了。
对于大多数知识,如果你只是用它,其实没有什么学习成本,你看过之后就知道了。
下面是一个做螺丝钉的经历,经过之前的学习,以及校园招聘的磨练,明白了其中的原理,但真正在大项目中实现第一个功能的时候,发现100行代码真的能引发200个bug……
总结
至此,算是专业前端开发团队中的一支生力军了~
从小项目到大项目,对流程、方案、代码标准、性能、用户体验的要求越来越高,需要解决的问题也越来越多,但Web开发技术的基础没有变,依然是HTML、CSS、.
关于此
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。