面试&实习心得

作者: 莫凡_Tcg | 来源:发表于2017-10-10 21:33 被阅读128次

    原文地址在我的博客, 转载请注明出处,谢谢!

    从大二下学期放暑假开始(7.14)到8月初,我一直在寻找一份实习,锻炼一下自己,看看学的怎么样。这期间,我相继面试了小米、途牛、滴滴和百度,都拿了实习offer。其中百度拿了两次实习offer,但由于我自身一些原因,都爽约了。(在这里给百度真诚地道个歉,我非常珍视这两次机会,但无奈遇到了不可抗拒的原因,今后有机会还会再投的(˶‾᷄ ⁻̫ ‾᷅˵))最后选择了在滴滴实习,很难得的经历。实习期间一直没空闲下来分享一下,结果拖到了现在...那么这篇文章就来分享一下我的面试和实习心得吧

    面试

    有一些记不清了,毕竟时间太久了...

    小米

    • 说一下你的前端学习经历
    • css左右边固定宽,中间自适应,有几种方案
    • css3动画,transition属性知多少
    • 说说你是如何配置你项目里的webpack
    • 如何判断变量是true or false
    • 数组去重,要求时间复杂度为O(n)
    • http状态码,304什么情况
    • 跨域方法
    • 其他想不起来了...

    途牛

    • typeof 都返回哪些类型 typeof null 返回什么,为什么?
    • cookie和session有什么区别
    • 有没有实际写过、解决过跨域相关问题
    • 使用过ES6/7哪些特性
    • 说说 promise 几个常用API和原理
    • React的特性,接着问原理,接着问好在哪里
    • 堆和栈的区别
    • 其他想不起来了...

    滴滴

    • React技术栈做项目用到了哪些东西
    • React特性、virtual dom、diff 、合成事件、调和等原理
    • 为啥要给列表类组件设个key?
    • 读过React源码吗?
    • 使用过哪些状态管理库,我说Redux,接着问Redux 是如何管理React 的,你又是如何使用Redux架构你的项目的
    • Redux 有哪些优缺点
    • 了解数据可视化吗?做过之类的东西没有?
    • 了解node吗
    • 其他记不起来了...总之都是围绕React技术栈来问的,上来就问框架很显然想让你进来直接干活:)

    百度(地图事业部)

    • 你在滴滴实习,为啥要来百度?(blablabla...夸了百度一番)
    • 你在滴滴做什么东西?用了什么东西(数据可视化,还用了你们的echarts呢(/ω\))
    • 那你知道echarts有哪些可以优化的地方?读过它的源码吗?
    • React 特性、原理,React 突出的思想
    • 你是如何使用Redux架构技术栈的
    • 我看你用了Redux-saga,它比thunk、promise有啥好处?
    • 你使用过哪些ES6 新特性、promise原理
    • 跨域的几种方法
    • 你这个项目有没有遇到什么你觉得难的问题,你怎么解决的?
    • 你有啥想问我的?(一般问部门技术栈、工作氛围)
    • 其他记不起来了...

    百度(校园品牌部)

    • 介绍一下前端经历
    • 你平常如何用css管理页面布局的,我说栅格,又问栅格怎么实现的
    • css3动画、transition、transform,canvas、svg
    • sass跟less的区别?
    • javascript 有哪些特性,我说了弱类型、单线程、事件驱动,就有了下面的
    • 你怎么理解事件驱动机制的?
    • 用过事件委托吗?怎么用的?
    • 嗯...ES6 用过哪些新特性?我提到了箭头函数,于是就问
    • 箭头函数跟ES5匿名函数有什么区别?我提到了this指向,然后就接着问
    • 箭头函数自动绑定this原理是什么?
    • 嗯...你这个项目怎么配置webpack的?用过gulp吗?webpack跟gulp有啥区别?
    • React 突出的特性
    • 怎么用git建立一个远程分支
    • Linux命令知多少?
    • 怎么把一个链表倒序?
    • 其他记不清了....

    总结

    总的来说,由于面试的特殊时期,面试难度会比春招实习、校招要低很多。

    面试会围绕你的简历来问,所以简历写好并且为简历做好准备很重要。

    面试大多问的是基础,而且问的很细,经常围绕一个点来深挖,还会问一些经常用到的API,所以面试一定要准备,把一些零碎的知识温习一下,基础很重要。项目问的比较少,但项目决定你简历的质量。

    前端要掌握的知识面比较广,但是有一些是构建工程所必须的,最好先培养自己比较全面的基础技术栈,可以足够形成构建一般工程项目的基本能力,然后再深挖。

    照目前情况来看,深入理解一门框架是很有必要的,但也没必要多。

    前端面试算法问题问的较少(大公司问的较多),但别告诉我你不知道查找、排序、去重、遍历二叉树...

    面试一定要保持平和心态,抱着我已经拿到BAT offer的心态,不紧不慢的交谈,用眼神、肢体语言帮助嘴巴说话;择机展示思考的过程,全程展示对这行的热情。

    祝愿大家都能找到心仪的实习、工作。

    实习

    我在滴滴实习了一个多月就走了,原因是学校课太多,导员不让出去,我也意识到了现在还是以学业为重...

    实习期间,我参与了两个项目,一个是一个滴滴实时计算平台,另一个是 Druid 管理平台。

    实时计算平台,面向滴滴内部工程师,是一个依靠滴滴海量数据完成实时计算、任务调度、自动报警监控等等,项目很大,做了一年了,业界少有吧....我所做的是将我负责的部分数据可视化及国际化;

    Druid 管理平台,仍面向内部工程师,是一个可视化数据库管理平台,前端由我和另一位实习生负责。我做的是一期核心模块的开发。

    最大的体会就是

    • 要对产品有极致追求,不能容忍错误,不能容忍繁琐的操作,还要兼顾所有可能的操作
    • 体会到了海量数据下的性能的重要性,开始关注性能优化
    • 要抱着后台什么数据都有可能产生的考虑,来写健壮的程序,类型检查、空值检测、try catch是必要的
    • 做好渐进增强、功能解耦、组件分离很能体现一个人的编程能力和水平,最忌讳代码粘一块、写死,坑的都是自己,,,
    • 调试很重要,要有写debugger的习惯
    • 时刻准备迎接新技术,哪怕从未听说,只要项目需要,就得立刻上手(我所在的组还是很喜欢用新技术的,只要它好用,License符合)
    • 前后端分离的接口文档遵循规范能少说很多废话
    • 项目管理,敏捷开发是很好的方式
    • 我所在的组开发项目的流程一般是:老大不知道从哪弄来一个需求(可能上级安排的,很多是自己想的…),然后全员开会说需求、定任务,各成员写排期,后端定具体需求、接口,前端配合后端一同开始,每周报告任务进展...
    • 对前端er来说,改需求不用那么在意,我们最终的目的都是让这个产品更好不是吗?
    • 实习生很少会接触to C产品,做的大多是面向内部人员,因为出bug好商量嘛...
    • 我所在的部门女工程师还是挺多的,这个的确让我很惊讶(No Offense)...
    • 想到再补充(/ω\)

    这次实习,确实比自学效率高多了,而且最重要的是,开阔了眼界,了解了这行业前沿是个什么情况,大公司又是如何部署前端技术栈开发项目的,以及我自身的不足。我也很幸运,找到了自己感兴趣的方向。

    相关文章

      网友评论

        本文标题:面试&实习心得

        本文链接:https://www.haomeiwen.com/subject/tmwbyxtx.html