前一段时间一直在不断地面试,无奈个人技术能力有限、项目经验缺乏,最终都没有进入到HR面试环节,全~~挂~~了~~

面试了这么多,结果不是太好,有点儿受打击,也促使我近期静下心来反思自己的问题:哪些技术知识掌握的还不错,哪些还有待提高,哪些是需要去恶补的。

阿里面试了三个部门,都是在二面挂的,网易和滴滴也是各两轮技术面试,加一起就是十次面试经历。在此回忆总结一下,既是给社区朋友的一个参考,反馈社区,更是给自己一个好好的总结。

HTML

  • HTML5新增了哪些内容或API,使用过哪些

  • input和textarea的区别

  • 用一个div模拟textarea的实现

  • 移动设备忽略将页面中的数字识别为电话号码的方法 --- 2017.06.10补充

CSS

  • 左右布局:左边定宽、右边自适应,不少于3种方法

  • CSS3用过哪些新特性

  • BFC、IFC

  • 对栅格的理解

  • (水平)居中有哪些实现方式

  • 1像素边框问题

JavaScript

  • 图片懒加载

  • 实现页面加载进度条

  • 事件委托

  • 实现extend函数

  • 为什么会有跨域的问题以及解决方式

  • jsonp原理、postMessage原理

  • 实现拖拽功能,比如把5个兄弟节点中的最后一个节点拖拽到节点1和节点2之间

  • 动画:setTimeout何时执行,requestAnimationFrame的优点

  • 手写parseInt的实现:要求简单一些,把字符串型的数字转化为真正的数字即可,但不能使用JS原生的字符串转数字的API,比如Number()

  • 编写分页器组件的时候,为了减少服务端查询次数,点击“下一页”怎样能确保还有数据可以加载(请求数据不会为空)?

  • ES6新增了哪些特性,使用过哪些,也有当场看代码说输出结果的

  • JS模块化的实践

  • require.js的实现原理(如果使用过webpack,进一步会问,两者打包的异同及优缺点)

  • promise的实现原理,进一步会问async、await是否使用过

  • 实现gulp的功能

  • 使用前端框架(angular/vue/react)带来哪些好处,相对于使用jQuery

  • vue双向数据绑定的实现

  • 单页应用,如何实现其路由功能

性能优化

  • 项目中使用过哪些优化方法

  • 输入一个URL,Enter之后发生了什么

  • (承上)页面的渲染过程

  • 优化中会提到缓存的问题,问:静态资源或者接口等如何做缓存优化

  • 页面DOM节点太多,会出现什么问题?如何优化?

项目经历

这些大公司招聘都是高级工程师起步,所以对简历上的项目会刨根问底。很多很多问题都是由项目中拓展开的,像优化相关的东西,还有前面提到的require.js、promise、gulp,项目中用到了某项技术,高级工程师的要求是:不仅会用,更要知道其原理。对自己的提醒:项目中用到的技术,不能说完全掌握其原理吧,但大致的实现还是有必要了解一下的。

  • 介绍一下你做的这个项目,进一步细问:整个项目有哪些模块,你主要负责哪些

  • 你在项目中的角色

  • 你在项目中做的最出彩的一个地方

  • 碰到过什么样的困难,怎么解决的

  • (如果你是这个项目的负责人),任务怎么分配的,有没有关注过团队成员的成长问题

  • 前端安全问题:CSRF和XSS

其他

  • 为什么选择做前端(我靠,我都快转前端两年了,还在问这个问题啊...)

  • 你希望进入一个什么样的团队

  • 你有什么问题想问我(面试官)的吗?


前前后后有两个月时间,暂时只回忆起这么多了,如果还有其他的,后期我会补上。

webpack其实也是必问的,由于我说还没使用过webpack,只是了解,写过demo,面试官就没问太深。如果你的简历中有提到webpack,请提前准备好,比如webpack打包原理、如何写webpack插件等。

面试阿里云那个岗位的时候,有要求算法和数据结构,有能力者多多准备吧。

阿里、网易的面试几乎都是围绕项目展开的,所以提醒自己搬砖的时候多想想、多看看,多站在一个高度去看整个项目:用到什么技术,技术实现原理是什么,项目框架怎么搭建的,采取安全措施了吗...


后记

有几个岗位感觉就是挂在了项目上。自己做过一个前后端分离项目,但是经过几次面试,发现这个项目还存在某些问题,比如:整个登录注册系统是不完善的,关于权限的处理上甚至是有很大缺陷的;这个项目的node层只是起到构建前端项目(gulp)、渲染index.ejs、代理转发api接口等作用,但是面试官指出说你这个node也太简单了,导致我都在怀疑这是个假的前后端分离...还是需要大神带多见见世面啊,求带...

虽然五次面试都没成功,但自己也收获了很多很多:认识了大牛hb,一个超有文艺气息的资深前端;多谢fw大大帮我内推阿里,十分感谢您对我的认可;也见到了平时只能在视频上看到的cjf老师,谢谢您的指点;对高级前端工程师所具备的技能有了更清晰的认识;肯定也增加了很多面试经验...

再好好提升一下,打算过段时间重新上阵,也祝自己多点好运气,早日进入心仪的企业,毕竟,当初来杭州的时候就是以网易、阿里为目标的。

如果觉得我的文章对你有用,请随意赞赏
已赞赏

22 条评论
zhoukekestar · 6月9日

整理了一点点,但感觉东西还是太多了。。。。
http://zhoukekestar.github.io...

+3 回复

0

感谢感谢

我很快乐 · 6月12日
Wang_UU · 6月16日

前端不是说只要长得漂亮就可以了吗?

+3 回复

3

楼主长得不漂亮,所以挂了...

jasonintju 作者 · 6月16日
jxycbjhc · 6月6日

对于中级前端来说这些,依然是注重细节以及基础,这个决定你能走多远,cjf就是蔡老师,擅长css我猜测的

+1 回复

0

是蔡老师

jasonintju 作者 · 6月6日
温柔的冷笑 · 6月7日

有人整理答案出来吗~

+1 回复

1

感谢感谢,我正准备整理答案呢!

我很快乐 · 6月12日
尿布君 · 6月5日

赞一个

回复

芒果屋里的猫 · 6月6日

加油

回复

0

? ?

jasonintju 作者 · 6月7日
cn_jiangyi · 6月6日

题主你多大了,这是一个大四学生应该都懂的前端知识么

回复

0

你要给我介绍对象我就告诉你我多大...?在校生不用懂那么多,毕竟这是社招的面试,应届生和社招考察的重点不一样,应届生会更加注重基础!

jasonintju 作者 · 6月6日
0

@jasonintju 哦哦,我目前大三,看这些感觉JavaScript那块根本没接触过,压力好大。这写都懂的话,大概是几年前端的水平

cn_jiangyi · 6月6日
0

@cn_jiangyi 一般来说3年吧,现在招聘高级前端年限都是3年起,当然,能力强的不限制。

jasonintju 作者 · 6月6日
frehaiku · 6月6日

这面试官难度感觉跟我上次面CVTE校招差不多...写到的要点基本问实现原理,还被问了虚拟dom的具体实现及一些数据结构等

回复

0

校招已经这么难了吗?

cn_jiangyi · 6月8日
yueshuangying · 6月7日

谢谢分享,面试一些公司确实可以明白很多自己的不足,我这小菜鸟也是才发现。。另外祝楼主好运

回复

yuechen323 · 6月10日

这些东西很细, 其实不知道也可作出不错的产品 现在框架那么多, 直接用就可以了, 会了无非你就是一颗好螺丝钉, 而永远不会成为boss

回复

xunjianxiang · 6月14日

这些是什么等级的面试啊。。。有些我看的后背都发凉

回复

迦若千尧 · 6月20日

好方,菜鸟一只我~

回复

载入中...
jasonintju jasonintju

3.8k 声望

发布于专栏

小前端

29 人关注