当前位置:首页 » 网页前端 » 前端面试问原理一脸懵逼
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

前端面试问原理一脸懵逼

发布时间: 2022-12-28 09:49:13

前端面试要点

想要通过前端面试顺利进入一线大厂成就高薪前端梦。那么首先,我们得知道前端面试中,社招和校招究竟有啥区别?

对于前端开发来说,如果说社招更看重对前端技术体系的深入理解,以及解决问题的能力话,那校招更看重的其实是基本功和学习能力(或者说是潜力)。

但其实,无论是社招还是校招,面试的时候都会问到一些曾经操作过的项目,尤其是大厂,或者热门高薪部门,面试官除必问的技术经验外,也会对技术深度进行一个基础的考核,那在这种情况下如何hold住大厂面试呢?

前端面试三要素:简历、个人介绍、技术能力。下面,就来分别聊一聊。

1、简历筛选关:

HR一般会去看简历中所提的技术栈是否匹配,怎么看呢?我们可以抓住简历中的技术名词,一般来说如果一点技术名词都没有提到,那么大概有以下几种可能:很水、很牛但概率很小、不会写简历。所以,一部分人可能会因为简历的问题没有了面试机会,这点是需要非常注意的。

2、个人介绍关:

通过了简历筛选阶段,就真正到了面试环节。这时候一定要准备好一段最多3分钟的个人介绍。请注意,最多3分钟!言简意赅的说明自己的工作时间,擅长技术栈和自己的工作预期。

3、项目经验表达:

对前端开发学习者而言,JS并不陌生,但大厂的JS面试题却总是显得很“陌生”,怎么样能够真正做到深入理解与高级应用?这不仅是面试过程中对前端求职者的要求,也是大多数前端开发者的痛点。

大厂面试中,面试官除了关注你的项目经验外,还往往喜欢和面试者深入探讨前端某些技术领域成体系的前端知识。比如:模块化、异步解决方案、网络、框架及原理、线程等,但在与面试官的正面battle中,求职者总会败下阵来。

所以,建议大家在Web前端面试前一定要注重这三个方面的内容。注重了这些想找找到一份适合的Web前端开发工作并不是难事。

㈡ 前端工程师面试时被问到为什么要做前端时,怎么回答

我本人是个前端工程师,虽然现在也对php,nodejs等服务器端的东西有所涉猎,但最喜欢的还是前端这个职位所做的事情,所以要是我面试的话,我会回答:
自己很喜欢做前端,因为前端做出来的东西可以马上展现出来,可以给我带来最直接的成就感,不像后端做的大部分都是数据层面的东西,不能让客户老板和自己马上看到。而且这两年前端技术发展很快,功能越来越强大,所以做的时间越久,越感觉可挖掘的点很多,很有意思。

㈢ 面试官问如何学习前端的怎么回答

现在从事IT方向的人有很多。由于Web前端薪资水平高,职业前景广阔,岗位缺口大,就业口径宽,想通过学习Web前端开发从而进入到该行业工作的人越来越多。当然也有很多人在犹豫不知道web前端开发都学哪些内容?零基础的可以学会吗?好不好学.
前端涉及到的东西太多了,自己也很浮躁,看了挺多书,可是代码缺敲得却不多。技术菜,又什么都想学,比如现在纠结要不要先学scss或者php或者angularjs,backbone等框架,还是深入学习html5+css3?

在我看来前端这20%的东西大概就是常用的html标签,css的盒子模型,基本的原生js,以及熟练使用jquery,ajax,常见浏览器的兼容。拿下这些东西意义非凡,一方面证明你适合做前端这份工作,另一方面这些技能能让你找到一份工作。让你能够从容地去学习剩下的80%。
总之就是专心对付最重要的东西,那些什么less、sass、angular这类的东西,当你把我之前说的基础打好之后,学习起来畅通无阻,随学随用。最后我觉得最难的就是实践,只有实践才能学到真正的技术,新人很难参与一些有价值有意义的项目,没有这些项目又很难成长,所以自己有项目可参与应该珍惜,没项目应该多造一些有价值的轮子。

㈣ 前端面试会提问到哪些

在面试前端的过程中,有些问题是经常会被提问到的
一、基础篇
1. 在不使用第三个变量的情况下,如何调换a与b的值?
2. px与em的区别
3. 简述一下盒模型
4. 页面导入样式时,使用link和@import有什么区别?
5. 简述一下事件代理
二、HTML常见题目
01、Doctype作用?严格模式与混杂模式如何区分?它们有何意义?
02、HTML5为什么只需要写?
03、行内元素有哪些?块级元素有哪些?空(void)元素有哪些?
04、页面导入样式时,使用link和@import有什么区别?
05、介绍一下你对浏览器内核的理解?
06、常见的浏览器内核有哪些?
07、html5有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?
08、如何区分HTML和HTML5?
09、简述一下你对HTML语义化的理解?
10、HTML5的离线储存怎么使用,工作原理能不能解释一下?
三、CSS类的题目
01、介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的?
02、CSS选择符有哪些?哪些属性可以继承?
03、CSS优先级算法如何计算?
04、CSS3新增伪类有哪些?
05、如何居中div?如何居中一个浮动元素?如何让绝对定位的div居中?
06、display有哪些值?说明他们的作用。
07、position的值relative和absolute定位原点是?
08、CSS3有哪些新特性?
09、请解释一下CSS3的Flexbox(弹性盒布局模型),以及适用场景?
10、用纯CSS创建一个三角形的原理是什么?
四、JavaScript类的题目
01、JavaScript中this是如何工作的
02、请解释原型继承的原理。
03、什么是闭包(closure),如何使用它,为什么要使用它?
04、.call 和.apply的区别是什么?
05、请指出JavaScript 宿主对象(host objects) 和原生对象(native objects) 的区别?
06、请指出以下代码的区别:function Person(){}、var person = Person()、var person = new Person()?
07、请解释变量声明提升(hoisting)。
08、什么是 “use strict”; ? 使用它的好处和坏处分别是什么?
09、什么是事件循环 (event loop)?
10、请解释同步 (synchronous) 和异步 (asynchronous) 函数的区别。
五、开发及性能优化类题目
01、如何规避javascript多人开发函数重名问题?
02、请说出三种减低页面加载时间的方法.
03、说说你所了解到的Web攻击技术。
04、说说你说了解的前端性能优化方法?
05、前端开发中,如何优化图像?图像格式的区别?
06、浏览器是如何渲染页面的?
07、页面重构怎么操作?
08、什么叫优雅降级和渐进增强?
09、前端需要注意哪些SEO?如何做SEO优化?
10、平时如何管理你的项目?

㈤ 前端面试题目难吗 如何轻松面对前端面试

从以下五个方面做,可以轻松面对前端面试:
一、基本知识
DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
DOM操作——怎样添加、移除、移动、复制、创建和查找节点。
事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。
XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。
严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。
盒模型——外边距、内边距和边框之间的关系,IE8以下版本的浏览器中的盒模型有什么不同。
块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。
浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。
二、少量提问
现在有一个正显示着Yahoo!股票价格的页面。页面上有一个按钮,你可以单击它来刷新价格,但不会重新加载页面。请你描述一下实现这个功能的过程,假设服务器会负责准备好正确的股票价格数据。
这个问题牵扯到一组我想要考察的基本知识点:DOM结构、DOM操作、事件处理、XHR和JSON。如果我要求你对换一种处理股票价格的方式,或者 让你在页面中显示其他信息,就可以把更多的知识点包括进来。对于经验比较丰富应聘者,我也可以自如地扩展要考察的知识范围,最简单像JOSN与XML的区别、安全问题、容量问题等等。
我还希望应聘者给出的任何解决方案中都不要使用库。我想看到最原生态的代码,你就当页面中没有包含任何库。你说你对哪个库了解多少多少,但我不能把关于库的知识作为评判能力的因素,因为库是会随时间变化的。
三、解决问题
做为一名前端工程师,最值得高兴的事莫过于解决同一个问题会有很多种不同的方法,而你要做的就是找出最合适的方法来。我在提问的时候,经常会在应聘者解释完一种方法后问他们还有没有第二种方法。此时我会跟他们说,假设你的这个方法由于种种原因被否决了,那么你还能不能给出另一种方法。这样做可以达到 两个目的。
首先,可以测试出他们是否在毫无意义地复述书本中的东西。不能不承认,某些人确实有过目不忘的天赋,听他们在那里滔滔不绝地讲,你会觉得他们什么都明白。可是,只要一跟这些人谈到怎么查找方案无效的原因,以及能否拿出一个新方案来,他们往往就傻眼了。这时候,如果我听到“我不明白这个方案为什么不够 好”之类的反问,心里立刻就明白我的问题已经超出了他们的能力范围,而他们只是想拿自己死记硬背的结论来蒙混过关。
其次,可以测试出他们已经掌握的(还是那句话,“想都不用想”)浏览器技术知识。如果他们对浏览器平台的核心知识有较好的理解,想出解决同一问题的不同方案根本没有那么难。
注意:所有问题都与浏览器技术相关。我不相信出几道抽象的逻辑题,就能够考出某人解决Web技术问题的能力。在我看来,这无异于让素描大师画肖像,没有意义,也得不到任何有价值的信息。
四、有激情
要成为一名优秀的前端工程师,最重要的莫过于对自己做的事要有激情。我们技能都不是从学校中或者从研讨会上学来的,因此前端工程师必须具备自学能力。浏览器技术的变化可谓日新月异,所以也只有不断提升自己的技能才做得到与时俱进。我虽然不能强迫谁必须多看博客、不断学习,但想应聘前端工程师的人恐怕还是必须这么做的。
你怎么知道谁对这种工作有没有激情?实际上非常简单。我只问一个简单的问题:“目前你对什么Web技术最感兴趣?”这个问题永远不会过期,而且也几乎不可能出错……除非你答不上来。就眼下来说,我希望你对这个问题给出的技术中包括WebSocket、HTML、WebGL、客户端数据库,等等。只有 对Web开发充满激情的人,才会坚持不懈地学习新知识、掌握新技能;
五、最后一点
计算机科学或者Web设计方面的知识当然也有用,但那都是基本知识之外的东西。只要基本知识在那儿了,一切就都有了基础,想扩充知识面也不难。可是,如果等到正式上班以后,还得从头学习基本技能,那种难度是不可同日而语的。

㈥ 前端面试的时候,被问到项目经验的时候,该怎么回答,要注意些什么

就是你以前干过什么工作,经验就是你的职业特长,如果特长较多,就选择与你应聘的工作有直接和间接有关的特长就可以了。

㈦ 前端面试 问什么问题

web前端面试会问人事方面的内容和web前端技术的内容;

人事的面试

web前端人事面试方面,需要注意如何自我介绍、性格有哪些优劣势、职业规划方向是什么、你的特长是什么、对于加班之类你是怎么看待等人事面试内容;

web前端技术的面试

技术面试,需要注意HTML+CSS+JavaScript以及JS主流框架的使用,比如Vue、React等,前端相关技术,比如tcp握手协议、网络安全、后端技术等;

对于web前端面试准备,建议你去看“决胜前端”(min app),它里面包含了很多web前端技术面试、人事面试等面试真题,而且针对面试题做了详细的分析与解答。

我给你截图看一下例子吧

㈧ 前端面试被问到,vue实现数据双向绑定,原理是啥

其原理大致是这样:

在数据渲染时使用prop渲染数据
将prop绑定到子组件自身的数据上,修改数据时修改自身数据来替代prop
watch子组件自身数据的改变,触发事件通知父组件更改绑定到prop的数据
这样做的好处是:父组件数据改变时,不会修改存储prop的子组件数据,只是以子组件数据为媒介,完成对prop的双向修改。

㈨ 前端面试一问三不知怎么办

前端面试一问三不知的时候,千万别慌乱,可以先停一停和面试官说这个问题你需要思考一下再回答,或者说你因为太紧张之类的一时想不起来答案。


有些面试官会直接电话过去要求面试,由于面试者(尤其是学生)处于弱势方,可能并不会拒绝面试要求,但并不意味着面试者处于最佳的物理和精神状态下,有可能会导致面试者不能很好的发挥自己原有的实力。所以如果面试官突然打电话过来。

没有准备好的话,不要怕冒犯面试官,一定要另外约个时间,面试官肯定会再打过来的。遭到否定面试官有可能会否定你描述的一些东西,有可能是你字眼写的太过,比如将“熟悉”的东西写成了“精通”,勾起了面试官的“好奇”。

有可能故意试压,考验你的反应,但遇到否定的时候,不要急于反驳或者是手足无措,而是询问自省和主动讨论。气场不和有的面试官性格严谨沉闷,而面试者可能思维活跃,整个面试过程可能会变成面试官不停的打断面试者让其思维聚焦。

而面试者感到思维不停被打断,很是气恼,影响发挥。这种情况不可避免,但遇到这样的面试官,请保持谦和的态度,重点是展示自己技术的广度、深度,气场不和并不会产生决定性的影响,面试官也不会因为这样的原因而给与错误的评判。

尽量留下好的印象。结束通知有的面试官会在面试结束后说:“我的问题问完了,如果有进一步消息的话,我们会再联系你”。面试的大部分结果,其实当场就出来了,如果你感觉给出结果的时间点不够明确,可以反问他:“如果三天内没有联系,是不是就代表没有通过?”省得让你怀有不确切的希望。

最后,还可以挽留下面试官,讲讲这场面试中你的一些疑惑,获得面试官的反馈,也可以知道自己目前哪一方面做得不足。面试中面对不会的问题面试中遇到问题不会回答,这是非常正常的,毕竟大家在学习过程中遇到的问题,跟我们在工作中遇到的问题是非常不一样的。

除此之外,我们看问题的角度,也是有差别很大的。举个例子,很多人都在看ReactFiber,但是如果问你们,为什么要有Fiber这个东西,可能很多人都回答不上来,因为大家只在社区里面看到说,Fiber是怎么工作的啊。

但是为什么要有Fiber?如果没有会怎样,而这种思考,其实是非常底层的。我相信,很多人可能都没有思考过。那如果遇到的问题不会,你可以先选择不会,说我觉得自己没有信心能答出这个问题,当然我更希望听到你说。

我现在不会,但是你给我两分钟思考一下,我想一下这个问题有没有答案?我觉得这是一个很好的思考习惯,首先你在面对不会的东西是坦然的,我当下不会,很正常,我之前没有思考过这个问题嘛,那我们再花两分钟思考一下。

给一个初步的答案。所以说遇到问题,也不用不会就不会,也可以有一个积极的方式回应。从面试官的角度来说,面试中考察的题目,并不是仅仅考察这道题目本身,题目的对错并不跟最终结果直接挂钩。面试官更希望以题目为契机。

考察面试者分析问题,解决问题的能力,以及交流过程中所体现的逻辑推理和思维方式等。跟面试官聊业务业务跟项目是完全不一样的东西,业务认知和思考也是很重要的一个考察点,这方面面试官可能会问两个点:业务场景和技术突破。

业务场景:面试官会询问面试者他们的产品、业务模式、商业模式等,了解下面试者对于产品的诞生、定位、发展的认知。技术突破:技术与业务相结合这点在阿里也是一直在说但鲜有人做的非常好的地方,所以有的时候也会考察面试者。

看看他们所做的技术是如何从业务出发、给业务带来了哪些改变以及如何去评估两者之间产生的结果。面试结束反向互动面试官在挂断之前,基本会给与候选人反问的机会,一般会表述为“你有什么要问我的吗”?无论面试的怎样。

都希望你能说出心中的疑惑,比如面试中的某个题目、整体的评价反馈、你的建议或者了解所负责的业务,所在的团队等等,而从面试官的角度来看,如果候选人愿意反问你问题,至少能证明他是个好学的人。所以不要放弃这个互动的机会。

面试反馈每场面试结束后,面试官都会在系统里留下面试反馈,如果面试失败,简历会放在人才库里,很多人会在其中捞取简历,以后的面试官也可以看到之前所有的面试记录,之所以讲到这一点,是希望大家在面试中能够保持谦和积极的心态。

认真面对每一场面试,即使这场面试没有成功,但如果展示了好的品质,也会增加被发掘的机会,为你以后面试成功铺路。保持联络如果跟面试官聊的比较好,可以请求加个微信之类的,面试是一个长期的事情,哪怕此次面试没有通过。

以后还可能面试进来的,与面试官保持联络。前端面试题笔记面试会了,面试题也不能落下,这套面试笔记除了有CSS、JS、Vue、React、性能优化、服务器端口、设计模式、数据结构和算法面试题外,加了手写代码面试题。

这下面试官让我们写代码也不怕啦!CSS问题flex布局css3的新特性img中alt和title的区别用纯CSS创建一个三角形如何理解CSS的盒子模型?如何让一个div水平居中如何让一个div水平垂直居中如何清除浮动。

㈩ 前端hr面试常问的问题

面试其实就是一个不断选择与被选择的过程(不知道说的对不对)。不同公司的面试方式都有所不同,大多数人都有过多次面试的经历,前端面试也不外乎那么一些啦(好像有些废话的感觉)。

面试之前的小故事

HR会打电话过来我是××公司的,在××上看到你投到我们公司的简历,问你何时候有空约一个呗,然后说就星期*吧,既然都打电话请我面试了,好吧,那就约一个!

然后有些人会精心准备,不停刷面试题,整夜整夜的看着HTML/JS/CSS知识点,还有那些最新的、时髦的技术,看看到时候能不能唬住面试官;而有些人对自己胸有成竹,哥那么多年的前端经验了,啥项目没有经历过,不就一个面试,怕啥呢。

很快或者很慢的来到那天。你打扮的清清爽爽漂漂亮亮的,打扮的好会有加分不,没错,第一印象也是挺重要的。途中有些人可能会还一直想着面试官会问啥题目呢,那啥**属性是什么来着呢,再次拿出手机默默的看起资料;有些人可能就会想着公司不知道妹子多不多漂亮不呢,环境和福利不知道咋样,最好别碰到傻逼一样的面试官哎,不然这以后咋相处好呢。

来到公司,大小公司大家都见多了嘛,也是得看发展是吧,我们也不是肤浅的人,见到前台妹妹,哟,还不错哦。领你进会议室里,让你稍等一下,她去通知面试官,过了一会儿,不是面试官进来,那就是前台妹妹给您送来一杯水。面试官踱步向前,咦~,我是继续坐着呢,还是站着呢,还是站起来显礼貌一些嗯。

给面试的一般会是Team Leader或者非常资深的工程师。首先会让你自我介绍下,然后巴拉巴拉介绍自己,途中或者聊到面试官喜欢的`部分那就会中断问几个问题吧,介绍完自己,就进入正式的战斗了吧,一般会有2-3轮的回合。遇知战斗详情,请听下回分解。

哈哈, 开玩笑。以上瞎编胡造,如有雷同,纯属巧合。

这里就只谈谈前端技术的战斗回合吧,写的不好,请多见谅。

普通型

面试中问题会比较的零碎,html/js/css肯定都会有涉及。知识点不会有太大的规律,可能几个公司面试下来你遇到的问题一个都不带重复的。哎,前端的知识点就是乍一看深似海,仔细一看深似黑洞啊。问题好的话,一方面考察了面试人对前端接触的广度,深度的话也可以从中接触到一些。因为面试的时间有限,其实也非常考验面试官对一个人的洞察能力。

一般如果不是应届生的话,也就是会跟你交流你之前的项目,你担当的角色,你遇到的难题,怎么解决问题,用的框架,与其他工程师的交流沟通协作等等。 这些其实你心里肯定是有答案的(可能也有懵逼的),就看你的表达,能不能对上面试官的胃口。

进阶型

除了基本的问题,面试中会有一些明显设计过的题目。针对某几个知识点,或让你手写代码,或让你提供算法或思路。如果之前没有遇到过这类问题的话其实一下子真的挺难回答,或者直接懵逼了,或者回答不出面试官满意的答案。这其实对工程师的要求也是比较的高,不能只是单纯的切切页面,用用插件,需要对某一类问题或者模式或者算法有深入的了解,对问题的解决思路有很好的把握。

算法可能不是前端工程师的长项,但作为优秀的工程师,对算法的了解应该会只深不浅。

这种面试的题目既提现了公司对面试者的要求,也相对而言的会有所体现公司的水平。

出题型

题目比较的综合,会通过邮件发给你,或者有专门的页面提供,在面试之前让你2-3天的时间做完。题目可能是很有名的某一类交互,或游戏,或页面,或公司自己出的一类小东西。

因为非当场面试,所有有比较充足的时间来思考,来写一些代码。一般都会完成,所以其实比较的关注点就是对代码的质量,通过代码来考察面试者的思路以及代码**惯等等。

其未知性也比较多,可能因为有些东西可能没法通过代码来传递,沟通,其他的思路,或者题目的缺陷等等。所以这只是面试途中的一个小部分,大多数人其实都会能做的很好。

直接上机型

还有的就会直接给你某一个交互,或者一张静态页面,或者一个布局等等,直接给你台电脑让你当场写出来。写完之后再有所交流,说说自己的想法或者接着谈其他的。

当你写代码时候,其实暴露的东西也挺多的。你写的**惯,思路清晰不清晰,对代码的熟悉程度,可能你平时都是ctrl C + V的,这时候你咋办呢。

这个可能遇到的比较少,但也会是有的。

结束语

许多面试可能都会结合以上的几种类型,多方面的考察面试者,其实,大家都懂的。