2017的暑期实习面试到如今差很少都结束了,算下来本身也投了十几家简历,经历的差很少十场笔试,现场和电话面试也差很少有五六家公司。虽然最后只拿到两个offer,所幸是本身期待的公司,下面从试题开始总结一下找实习这段时间的收获和给你们的一点建议,但愿有所帮助。前端
题主一共面试了五家公司,最后是拿到了去哪儿网
和腾讯
的offer,参与现场面试和电话面试的公司里,CVTE
和阿里
挂在了HR面
,今日头条
挂在一面
。下面我按照面试的顺序,主要说说这几家公司的面试经历和收获。vue
阿里云的面试是散招,没有经过官网的渠道,当时应该仍是2月份,刚开学没几天,寒假忙着作一个小项目,也没有系统的复习,加上是个人第一次面试,答的很是糟糕,一面就挂了。
主要问题以下:java
1:如何选择前端这个方向 2:Vue双向数据绑定的实现 3:react和vue有哪些不一样 说说你对这两个框架的见解 4:let和const的区别 5:const类型的数组能够向其再push一个元素吗 6:平时用了es6的哪些特性,体验如何 7:浏览器原生支持module吗,若是支持,会带来哪些便利 8:介绍一下你对webpack的理解,和gulp有什么不一样 9:webpack打包速度慢,你以为可能的缘由是什么,该如何解决 10:http响应中content-type包含哪些内容 11:浏览器缓存有哪些,一般缓存有哪几种方式 12:如何取出一个数组里的图片并按顺序显示出来 13:平时是怎么学新技术的 14:Node,Koa用的怎么样 15:使用模块化加载时,模块加载的顺序是怎样的,若是不知道,根据已有的知识,你以为顺序应该是怎么样的
面试官在上午打来电话,当时因为还有课而且有了上次失败的经历有点紧张,就直接推到了下午四点钟。react
1: 为何选择前端这个方向,说一下本身的学习历程 2: 介绍一下闭包和闭包经常使用场景 3: 为何会出现闭包这种东西,解决了什么问题 4: 介绍一下你所了解的做用域链,做用域链的尽头是什么,为何 5: 一个Ajax创建的过程是怎样的,主要用到哪些状态码 6: 说说你还知道的其余状态码,状态码的存在解决了什么问题 7: 知道语义化吗?说说你理解的语义化,若是是你,平时会怎么作来保证语义化 8: 说说content-box和border-box,为何看起来content-box更合理,可是仍是常用border-box 9: 介绍一下你知道的浏览器缓存,分哪几种,经过什么方式实现,各有什么优缺点,有那些坑要注意 10: 愿意来杭州实习吗
此次面试,没有问框架、工具相关的问题,很是基础,面试官的问题基本上都回答上来了,当场就给我过了,还加了微信,留了电话。感受很好,彷佛又有了一点自信。
当时从此次面试的题目能够发现,虽然阿里的面试官问的都是很基础的问题,平时作作功课均可以回答上来,可是面试官问到了不少为何有这个东西,这个东西解决了什么问题,若是是你,你会怎么作这种须要本身去总结和思考的问题,若是单纯的记忆知识点是很难回答好的。并且这些问题没有统一标准的答案,每一个面试者均可以有本身的看法,须要你们在平时的学习中多总结、多思考才能有比较好的回答。webpack
阿里二面在一面结束9天才来到,一度觉得本身挂了,最后微信上敲了一下一面面试官,差很少一个小时后二面电话就过来了,我记得是周五的晚上9:30。git
1: 自我介绍,我提到了对数据可视化很感兴趣 2: 说说你对数据可视化的理解,和普通的WEB开发有什么不一样 3: 知道经常使用的数据结构有哪些(由于提到了没有学数据结构与算法这门课) 4: 数据可视化的经常使用工具备哪些 5: 数据分析和数据挖掘的经常使用方法有哪些 6: 若是给你一个四维一亿条数据,如何找出其中关联性比较大的几条数据 7: 若是让你设计一个展现人际关系网的可视化界面,你会怎么设计,依据是什么 8: 若是让你设计一个展现某个地区包裹存留数量的可视化界面,你会怎么设计,依据是什么 9: 若是要表示密集性,你以为能够经过哪些方式来表示 10: 若是要表示层次性,你以为能够经过哪些方式来表示
此次面试问的我一头雾水,基本没有前端方面的基础知识,最后一面面试官和我说是考察一下潜力和思想的开放性、延伸性。感受答得不太好,不过最后仍是过了。es6
三面不知道是否是交叉面,不过此次面试面试官说他是北京的(以前都是杭州)。github
1: 自我介绍,又提到了数据可视化(蠢哭) 2: 介绍一下你的学习历程和学习方法 3: 介绍一下你的项目 4: 你是怎么协调团队项目的,你以为要注意哪些问题 5: 你在团队项目中遇到过最大的难题是什么,怎么解决的 6: 介绍一下HTML5的新特性,怎么理解这些新特性 7: 平时关注新技术吗,经过哪些渠道,怎么看待新技术 8: 任意连续的三个正整数相乘,必定能被6整除吗,为何 9: 对本身将来的规划是怎样的,想去哪里实习
三面感受还不错,由于没有什么技术问题,也无法很客观的判断答得好很差,可是基本上是说出了本身的想法和看法。web
HR面的具体问题我就不写了,基本就那么几个问题,大同小异。不过这一面须要注意的问题确实最多的,我后面再写在一块儿。
反正,最后知道我是被HR挂掉了。面试
CVTE是现场面试,当时在一家酒店,我很早就过去了,流程还算顺利,两个小时就结束了。
1: 自我介绍,怎么学习,作了什么东西 2: 介绍一下作过的项目 3: [代码题]在一个UI李有10个li,实现点击对应的li,输出对应的下标 4: 若是不用let应该怎么实现,写一下代码,为何 5: [代码题]实现三个DIV等分排布在一行(考察border-box) 6: 为DIV设置的背景颜色默认会延伸到哪里
1: 说说你知道JavaScript的内存回收机制 2: [代码题]给出一个绑定点击事件的innerHTML操做,让我讲讲有什么问题(函数防抖) 3: [编程题]编程实现输出一个数组中第N大的数据
和阿里同样,被热情温柔的HR姐姐挂掉了。
1: 介绍一下你的学习历程 2:介绍一下你作的项目 3: 问我Github上的一个轮播图组件是怎么实现的 4:实现两栏布局有哪些方法 5:设置width的flex元素,flex属性值是多少 6:平时用ES6吗?用了哪些特性 7:介绍一下你知道的浏览器的缓存 8:实际开发中,一般用那几个字段配合使用来达到缓存的目的 9:get和post有什么不一样,越多越好 10:常见的状态码有哪些,常出如今哪些具体的场景中 11:cookie和session有什么联系和区别 12:[编程题] 判断链表是否有环 13:[编程题] 输出二叉树的最小深度
今日头条应该是我前端知识问的最为详细的一家公司,感受回答的还不错,可是后面的两道编程题我彻底不会,面试官很无奈,最后我只能挂了。也提醒一下各位朋友,其实这是很基础的数据结构问题,只要学过通常你确定会,但是若是连这些都不会,也没有公司敢要你。
去哪儿是现场面试,也是在一家酒店。我一共只有两面,技术一面,HR一面。
1: 自我介绍,前端学习历程 2: 介绍一下项目,用了什么技术,承担了什么职责 3: javaScript中的this是什么,有什么用,它的指向是什么 4: 平时用了ES6的哪些特性,和ES5相比有什么不一样(上一个问题提到了) 5: 常见的状态码有哪些 6: [代码题]写一个快速排序 7: [场景题]怎么实现从一个DIV左上角到右下角的移动,有哪些方法,都怎么实现 8: 简单介绍一下promise,他解决了什么问题 9: 用Promise实现一个异步队列应该怎么实现
感受去哪儿网的HR和以前的不太同样,问了不少不同的问题。
1: 你作过什么项目吗?有什么做用? 2: 让我给他现场演示和解释我作的一个组件 3: 让我分析一下以前作过的一个项目的市场前景和实施的可行性 4: 让我帮他解决一个问题(kindle使用微信推送书籍)
其余的问题都是常规的关于将来规划、家庭、自我发展等常见的问题,最后一个让我帮他解决问题确实让我有点措手不及,幸亏本身平时对电子产品比较了解,帮忙解决了。当场就给了我口头offer。
腾讯因为人数太多了,面试战线拉得比较长,横跨两天,共计三次。
1: 自我介绍,为何选这个方向 2: 为何会走上IT这个方向(看我专业不是计算机相关) 3: 平时是怎么学习的,学过哪些东西 4: 介绍一下你简历上的项目 5: 知道Vue的双向数据绑定是怎么实现的吗,和其余框架有什么不一样 6: [代码题]手写一个组合继承 7: [代码题]深拷贝方案有哪些,手写一个深拷贝 8: 判断数组有哪些方法,可以100%准确吗,100%准确的方法是哪一个 9: 跨域通讯有哪些方案,各有什么不一样 10: JSONP的具体实现原理是什么,它是怎么工做的 11: 多页面通讯有哪些方案,各有什么不一样 12: 平时用了ES6哪些特性,体验如何 13: 用Node干过什么,发布过本身的NPM包吗 14: 用Node实现一个用户上传文件的后台服务应该怎么作
1: 自我介绍 2: 介绍一下你作的项目 3: 你作的最成功的项目是什么,为何,你以为你从中收获了什么 4: 你以为你作的最成功这个项目对你来讲难度大吗,难在哪里 5: 在团队协做中,你是怎么解决团队协调的问题的 6: 你以为你在团队中最核心的工做是什么,对这个团队有什么不可替代的贡献吗 7: 跨域通讯有哪些方案,说说你了解的 8: 如今用的比较多的是什么方案,使用场景有什么差异 9: 为何要选用Vue这个框架,他有什么特色,与react和angluar有什么不一样 10: XSS和CSRF攻击知道吗,是什么原理,怎么检测,怎么防范,有什么区别(这块问了好久) 11: HTMLEncode一般在哪一个阶段作,能够被破解吗 12: 对本身将来的规划是怎样的 13: 何时能够来实习,能够实习多久
腾讯的HR是个小哥哥,这让我很不适应,不过有了前几回的经验,此次没有说错话。
技术面试最重要的固然是技术,可是对于应届生来讲更准确的说是基础相关的技术。公司固然但愿可以一开始就可以解决复杂问题,一开始就能够当正式员工使用的实习生,可是这只是一个指望,在向这个目标看齐的时候,应该先审视一下自身是否有这样的实力,简单的说就是必定打好基础。
具体到前端的方向就是,最基础的知识要保证到你必定是了解的准确而且全面的。若是面试官,问你块级元素和行内元素有什么区别你都说不清,说不完整,就算你用React
、Vue
等框架作个好几大大型项目也会让面试官对你的印象大打折扣。
对于了解的不清楚,只知其一;不知其二的知识点,最好的选择是直接说我不会,由于不会会给面试官你只是没有学习这个知识点的印象,而只知其一;不知其二却会给面试官留下学习知识不系统、不深刻、缺少本身的思考这些全局性的坏印象。固然若是你不会的知识点若是太多了,那说明你离面试官要求的水准还差不少,仍是回去好好复习比较好。
同时对于本身熟悉的知识点,要学会延伸和比较,好比去哪儿网的那道题,this
的问题,知道this
的做用,this
的指向固然很好,可是若是你还知道this
在ES5及以前
以及ES6/ES7
中有什么不一样,为何要作出这样的改变,解决了哪些棘手的问题相信会更好。
还有须要补充的一点就是,对于前端来讲,数据结构和算法一样重要。没有被问到只是运气好,在之后业务逻辑和代码变复杂以后,若是没有良好的数据结构和算法基础,应对起来会很是吃力。
这里推荐一下本身的数据结构和算法的学习笔记:
前端数据结构和算法:github.com/ovenzeze/
对于HR
来讲,她关注的点和技术面试官是有很大不一样的,技术面试官更关注你技术水平可否为这家公司创造对应的价值。而HR
更关注的是,这我的是否可以为这家公司持续效力,简单的说就是HR
最关注你工做后会不会跳槽。固然也会关注你是否是可以匹配当前的工做,可是相对于你工做的稳定性来讲这些都是次要的,若是你人都走了,水平再高,也没有任何意义。因此HR
面试的时候,雷区就是意向工做城市和公司或者部门所能提供的城市不匹配,或者有必定会影响到你工做城市的因素(好比女友)。固然若是对城市有100%
的要求,提早和HR
沟通好固然是最好的,可是若是没有必定要去的城市就不要过多的表达想去某个特定城市的意愿。最后但愿你们都能找到好的实习。