原文地址在个人博客, 转载请注明出处,谢谢!javascript
从大二下学期放暑假开始(7.14)到8月初,我一直在寻找一份实习,锻炼一下本身,看看学的怎么样。这期间,我相继面试了小米、途牛、滴滴和百度,都拿了实习offer。其中百度拿了两次实习offer,但因为我自身一些缘由,都爽约了。(在这里给百度真诚地道个歉,我很是珍视这两次机会,但无奈遇到了不可抗拒的缘由,从此有机会还会再投的(˶‾᷄ ⁻̫ ‾᷅˵))最后选择了在滴滴实习,很可贵的经历。实习期间一直没空闲下来分享一下,结果拖到了如今...那么这篇文章就来分享一下个人面试和实习心得吧css
面试
有一些记不清了,毕竟时间过久了...前端
小米java
- 说一下你的前端学习经历
- css左右边固定宽,中间自适应,有几种方案
- css3动画,transition属性知多少
- 说说你是如何配置你项目里的webpack
- 如何判断变量是true or false
- 数组去重,要求时间复杂度为O(n)
- http状态码,304什么状况
- 跨域方法
- 其余想不起来了...
途牛node
- typeof 都返回哪些类型 typeof null 返回什么,为何?
- cookie和session有什么区别
- 有没有实际写过、解决过跨域相关问题
- 使用过ES6/7哪些特性
- 说说 promise 几个经常使用API和原理
- React的特性,接着问原理,接着问好在哪里
- 堆和栈的区别
- 其余想不起来了...
滴滴webpack
- React技术栈作项目用到了哪些东西
- React特性、virtual dom、diff 、合成事件、调和等原理
- 为啥要给列表类组件设个key?
- 读过React源码吗?
- 使用过哪些状态管理库,我说Redux,接着问Redux 是如何管理React 的,你又是如何使用Redux架构你的项目的
- Redux 有哪些优缺点
- 了解数据可视化吗?作过之类的东西没有?
- 了解node吗
- 其余记不起来了...总之都是围绕React技术栈来问的,上来就问框架很显然想让你进来直接干活:)
百度(地图事业部)css3
- 你在滴滴实习,为啥要来百度?(blablabla...夸了百度一番)
- 你在滴滴作什么东西?用了什么东西(数据可视化,还用了大家的echarts呢(/ω\))
- 那你知道echarts有哪些能够优化的地方?读过它的源码吗?
- React 特性、原理,React 突出的思想
- 你是如何使用Redux架构技术栈的
- 我看你用了Redux-saga,它比thunk、promise有啥好处?
- 你使用过哪些ES6 新特性、promise原理
- 跨域的几种方法
- 你这个项目有没有遇到什么你以为难的问题,你怎么解决的?
- 你有啥想问个人?(通常问部门技术栈、工做氛围)
- 其余记不起来了...
百度(校园品牌部)git
- 介绍一下前端经历
- 你日常如何用css管理页面布局的,我说栅格,又问栅格怎么实现的
- css3动画、transition、transform,canvas、svg
- sass跟less的区别?
- javascript 有哪些特性,我说了弱类型、单线程、事件驱动,就有了下面的
- 你怎么理解事件驱动机制的?
- 用过事件委托吗?怎么用的?
- 嗯...ES6 用过哪些新特性?我提到了箭头函数,因而就问
- 箭头函数跟ES5匿名函数有什么区别?我提到了this指向,而后就接着问
- 箭头函数自动绑定this原理是什么?
- 嗯...你这个项目怎么配置webpack的?用过gulp吗?webpack跟gulp有啥区别?
- React 突出的特性
- 怎么用git创建一个远程分支
- Linux命令知多少?
- 怎么把一个链表倒序?
- 其余记不清了....
总结web
总的来讲,因为面试的特殊时期,面试难度会比春招实习、校招要低不少。面试
面试会围绕你的简从来问,因此简历写好而且为简历作好准备很重要。
面试大多问的是基础,并且问的很细,常常围绕一个点来深挖,还会问一些常常用到的API,因此面试必定要准备,把一些零碎的知识温习一下,基础很重要。项目问的比较少,但项目决定你简历的质量。
前端要掌握的知识面比较广,可是有一些是构建工程所必须的,最好先培养本身比较全面的基础技术栈,能够足够造成构建通常工程项目的基本能力,而后再深挖。
照目前状况来看,深刻理解一门框架是颇有必要的,但也不必多。
前端面试算法问题问的较少(大公司问的较多),但别告诉我你不知道查找、排序、去重、遍历二叉树...
面试必定要保持平和心态,抱着我已经拿到BAT offer的心态,不紧不慢的交谈,用眼神、肢体语言帮助嘴巴说话;择机展现思考的过程,全程展现对这行的热情。
祝愿你们都能找到心仪的实习、工做。
实习
我在滴滴实习了一个多月就走了,缘由是学校课太多,导员不让出去,我也意识到了如今仍是以学业为重...
实习期间,我参与了两个项目,一个是一个滴滴实时计算平台,另外一个是 Druid 管理平台。
实时计算平台,面向滴滴内部工程师,是一个依靠滴滴海量数据完成实时计算、任务调度、自动报警监控等等,项目很大,作了一年了,业界少有吧....我所作的是将我负责的部分数据可视化及国际化;
Druid 管理平台,仍面向内部工程师,是一个可视化数据库管理平台,前端由我和另外一位实习生负责。我作的是一期核心模块的开发。
最大的体会就是
- 要对产品有极致追求,不能容忍错误,不能容忍繁琐的操做,还要兼顾全部可能的操做
- 体会到了海量数据下的性能的重要性,开始关注性能优化
- 要抱着后台什么数据都有可能产生的考虑,来写健壮的程序,类型检查、空值检测、try catch是必要的
- 作好渐进加强、功能解耦、组件分离很能体现一我的的编程能力和水平,最忌讳代码粘一块、写死,坑的都是本身,,,
- 调试很重要,要有写debugger的习惯
- 时刻准备迎接新技术,哪怕从未据说,只要项目须要,就得马上上手(我所在的组仍是很喜欢用新技术的,只要它好用,License符合)
- 先后端分离的接口文档遵循规范能少说不少废话
- 项目管理,敏捷开发是很好的方式
- 我所在的组开发项目的流程通常是:老大不知道从哪弄来一个需求(可能上级安排的,不少是本身想的…),而后全员开会说需求、定任务,各成员写排期,后端定具体需求、接口,前端配合后端一同开始,每周报告任务进展...
- 对前端er来讲,改需求不用那么在乎,咱们最终的目的都是让这个产品更好不是吗?
- 实习生不多会接触to C产品,作的大可能是面向内部人员,由于出bug好商量嘛...
- 我所在的部门女工程师仍是挺多的,这个的确让我很惊讶(No Offense)...
- 想到再补充(/ω\)
此次实习,确实比自学效率高多了,并且最重要的是,开阔了眼界,了解了这行业前沿是个什么状况,大公司又是如何部署前端技术栈开发项目的,以及我自身的不足。我也很幸运,找到了本身感兴趣的方向。