前言
什么是前端工程师 / 怎么看待这个职业 / 对它的理解?
前端开发这个职业目的在于用户体验,吸引更多的用户,运用前端技术,使项目变得更好,包括视觉、交互、运行速度、代码的合理规划等。
前端工程师要掌握的技术?
Web前端开发工程师既要与上游的交互设计师、视觉设计师和产品经理沟通,又要与下游的服务器端工程师沟通,需要掌握的技能非常多。
Web前端开发技术主要包括三个要素:结构层HTML,表现层CSS,行为层JavaScript。对于前端工发工程师而言不仅要掌握基本的Web前端技术,网站性能优化,SEO和服务端的基础知识,还要学会运用各种工具进行辅助开发以及理论层面的知识,包括代码的可维护性、组件的易用性、分层主义模板和浏览器分级支持等。
基本提问
自我介绍
1.个人介绍——学校专业、获奖、性格爱好、职业规划(成为一个资深的web前端工程师,成为一个领域的专家必不可少的条件就是投入大量时间,进行大量的重复训练。我会一直专注于前端领域,学习新技术、掌握新技能)
2.擅长什么技术
3.工作经验
4.个人项目
还有什么要了解
1.我应聘的职位主要职责是什么
2.薪资、福利待遇(五险一金、双休、加班、出差)、面试结果什么时候通知
3.团队的技术路线
1、关于公司
-1- 公司的盈利机制是怎样的?
-2- 公司未来或者接下来3-5年如何规划?
2、关于部门
-1- 公司真实的运营状况如何?
-2- 运营部门的人员架构如何?
3、关于个人
-1- 如果我应聘成功,入职以后主要负责什么工作?
-2- 所在部门的晋升渠道是怎样的?
4、关于此次面试
-1- 什么时候会通知面试结果?
-2- 就此次面试来说,如果我想要6利入职的话,还有哪些方面需要加强?
5、关于待遇
我很少主动问关于薪资的问题,如果公司确定要我的话,HR会主动询问我对于待遇的要求。
2019.3.12
笔试
1.javascript中实现b继承a
2.什么是CSS Sprites?说说该技术的优缺点
概念:将多个小图片拼接到一个图片中。通过background-position和元素尺寸调节需要显示的背景图案。
优点:
- 减少HTTP请求数,极大地提高页面加载速度
- 增加图片信息重复度,提高压缩比,减少图片大小
- 更换风格方便,只需在一张或几张图片上修改颜色或样式即可实现
缺点:
- 图片合并麻烦
- 维护麻烦,修改一个图片可能需要从新布局整个图片,样式
3.在浏览器兼容中经常遇到的问题?你是怎么解决的?出现的原因是什么?至少列举5个
面试
由于该公司急于用人,我写的是7月才能入职,他们提出最迟是5月,说回去想清楚然后再进行一次HR面试。(之后发现是在忽悠我,回去之后再也没联系我了~)
只问了一些关于我的作品的简单的问题,基本没有技术类的。
2019.3.13
面试
这次面试是紧接前一天笔试的那家公司,并没有提问笔试题,hr提问的都是关于计算机网络原理的基础题目。
1.vue是怎么实现双向数据绑定
2.用vue开发的好处,为什么要用vue
3.怎么和后台对接数据~json,ajax
4.为什么登录后立即关掉当前页面再次打开显示登录中,立即关掉整个浏览器再次打开需要重新登录
5.如何实现前后端数据交互
6.有哪些HTTP 状态代码
面试官给的建议:在面试中遇到不会的问题直接说不知道,否则说多错多,更加暴露自己的问题。
2019.3.14
笔试+面试
笔试
1.关于js:"5"+4= ? NaN*4=? null*4=? 写出三个强转换类型和两个隐性转换类型
2.var a = naull;alert(typeof a);
3.什么是盒模型
4.浏览器是怎么渲染页面的
5.写出你知道的一种web安全攻击技术 参考
6.null和undefined的区别 参考
7.xml和json的区别 参考
8.三道算法题——清除string中的空格(兼容浏览器)、两道忘了
9.块级元素、行内元素和空元素有哪些
10.写出浏览器对应内核
面试
1.cookie、sessionstorage和localstorage的理解和区别
2.我的个人项目用了哪些框架,使用它们的区别是什么
3.在浏览器中输入url后发生了什么
4.对TCP和IP的理解,三次握手是什么 参考
5.在上家公司负责什么
6.还有什么要提问的
2019.3.19
笔试+面试
笔试
1.如何解决css的margin塌陷现象
2.闭包有哪些特性
3.对AJAX的理解,同步和异步的区别
(1)什么是AJAX
AJAX(Asynchronous JavaScript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。
AJAX还有一个最大的特点就是,当服务器响应时,不用刷新整个浏览器页面,而是可以局部刷新。这一特点给用户的感受是在不知不觉中完成请求和响应过程。
- 与服务器异步交互;
- 浏览器页面局部刷新;
(2)同步交互与异步交互
- 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;
- 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。
同步是阻塞模式,异步是非阻塞模式。
同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,知道收到返回信息才继续执行下去;
异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回式系统会通知进程进行处理,这样可以提高执行的效率。
4.img的title和alt区别是什么
面试
1.织梦平台有很多安全漏洞,是怎么解决的,或者对web安全技术有什么理解
2.iframe
3.说说自己做的比较好的一个项目 案例
4.网页版的聊天室是如何实现通信的
2019.3.21
电话面试(了解基本状况)
1.自我介绍
2.为什么辞职
3.了解react吗?使用vue的好处、为什么要用vue 参考1 参考2
4.怎么翻墙?英语能力如何
2019.3.22
笔试+面试(早上~续昨天电话面试)
问了很多,很多都答不上(有很多关于原生JS的问题,之前其实有学过,但太久了,只是有个印象却没办法准确表达出来,加上也有一点紧张)
笔试
1.编程题不太会,留空
2.什么是图片字体?如何解决图片失真(tip:svg)
3.ES6有哪些新特性
规定30mins内完成一个表单,可上网
面试
1.职业规划、英语能力、为什么要选择前端
2.ES6的新特性有没有用过?回答没有后让我说说对他们的理解
3.关于清除浮动的问题,怎么实现垂直居中,如何解决兼容浏览器的问题
4.vue怎么实现双向绑定,说说vue有哪些特性...
5.怎么实现双语访问(公司项目)
心得:面试官问的问题都涉及到技术的实现原理,由于自己掌握的不够扎实,对知识点的理解不够深刻,回答的不太理想。
面试(下午)
1.在上家公司的工作内容,包括技术的使用、解决了什么问题、有什么经验
2.介绍上家公司的技术团队,电脑上都有哪些工具
3.怎么进行前后端数据交接
4.有哪些数据存储技术,它们的区别(localstorage等)
5.介绍下网页版聊天室(简历上的项目),包括解决了哪些问题
2019.3.26
面试(上午)
1.使用织梦有什么体验?知道其他的cms吗?
2.怎么进行前后端数据交接
技术方面问的不是很多,也简单介绍了他们公司的技术团队和咨询我的薪资要求
面试(下午)
1.先提问在学校学习了哪些课程(java、c++、面向对象、数据结构、信息安全等),再一一提问:
对面向对象的理解、面向对象的特点、数据结构学了什么(提醒栈)、对称密码和非对称的区别等
2.原型js的理解
3.css实现垂直居中
4.对面向对象的理解?
面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。
面向对象的设计思想是抽象出Class,根据Class创建Instance。
面向对象的抽象程度又比函数要高,因为一个Class既包含数据,又包含操作数据的方法。
数据封装、继承和多态是面向对象的三大特点
3.28
复试(续3.22早上面试)
1.谈谈某个项目实现的难点有哪些
2.自己的优缺点
3.nodejs使用上有哪些不好的地方
4.自己最近新学的技术
5.自己未来两年、三年或五年的职业规划
总结和经验
1.对于原生JS不够熟练,遇到算法题或编程题就gg
2.面试时不够自信,加上自己的实力一般,因此表现的比较自卑
3.遇到不懂的问题稍微思考一下后应该诚实说出,不要“胡言乱语”,不然只会暴露出更多问题
4.摆正心态,做最充分的准备,接受最坏的结果
5.弱项:只知道框架的使用,对其实现原理不懂;原生JS较差;没有前后端数据交互的实战经验;
6.大公司很注重基础知识的掌握,会问很基础的知识;小公司比较注重能不能帮他们干活,问的比较浅;
7.一定一定一定确保简历上的东西都是会的,不会被面试官问倒
自我总结
1.目前我的基础知识较薄弱,还需要多学习,积攒经验;
2.前端js能力较弱;