一轮疯狂的面试之后

  研一快结束了,在暑假即将来临的这几周,我面了几家大互联网公司的前端实习生,包括:百度、阿里、葫芦(外企)。

  先谈谈百度,我面的是百度运维部(学姐内推),主要做百度内部运维监控系统,前端部门主要负责百度各类产品的数据可视化。首先,我了解了他们团队的技术栈:高度模块化开发框架(Require.js)、大后台小前端模式(Node.js)等,而这些都是我熟悉和热爱的技术方案,当然也激起了我去这里的兴趣。

  一面,很巧很巧,面试我的居然是我们实验室的学姐,气氛很轻松,问题很简单,全是html、css、js基础,自己也回答的很好,面完学姐还夸我很厉害......

  二面,是部门一个有两年左右工作经验的帅哥,我和他聊聊了部门的技术栈和业务需求,由于我对Node.js比较熟,我们聊得很融洽。刚开始,他问了几个简单的问题,我记忆犹新的是字符串处理小技巧和不同元素的垂直居中,因为我回答的不是很好。后来,他问了一些比较深入的题目,比如:AMD/CMD的选择等,由于我对这块有所了解,所有回答的还不错。

  面完二面,这位帅哥就开始问我实习时间的事,因为是学姐内推的,我只能如实的汇报“三个月”,我看得出他不太满意,问我能不能再久一些。。。

  等了几天,没有叫我三面,我以为应该是去不了了。所以又面了阿里神马搜索-UC浏览器(推荐),阿里只有一面,是部门前端mentor直接面我。简历过了一遍,直接写代码,比如:js实现数组去重、实现构造函数+原型链继承、模拟闭包等(闭包那道题我写的不好,当时有点紧张,居然写出了int i这种东西。。。)。接着,考算法和计算机网络,比如:堆排序如何用数组实现、IP包头部信息和状态码、iframe跨域传参等,由于我本科是计算机专业,加上本科成绩不错,他看上去很满意。

  面完后,mentor说他们部门对js要求比较高(意思是我js写得不太好),又说没关系,他觉得我的算法和基础还不错,学习能力比较强。就开始问我实习时间,因为推荐我的人说你就说三个月应该可以,我就说的三个月以上,他说可以。于是,mentor就叫我明天来hr面,下周就可以来上班,还告诉我上班下班时间。

  本以为搞定了,结果第二天没人打电话叫我去hr面,我打过去问hr,她说我实习时间太短,不太符合。。。我当时真是醉了,因为在这期间我还把头条拒了,想着能去阿里了!

  实习时间太短怎么办呢?于是便面了外企葫芦(推荐),因为这里对实习时间要求较低(全职两个月就可以),但对个人水平要求更高。一面电话面,简历过一遍,便开始写代码(别想叫别人帮忙,因为面试官在线看着你写!),一道算法题加一道JS题。

  算法题:实现一个节点无value的完全二叉树节点插入。听起来不难,实际比较复杂,我想了一会答出了思路,他说思路基本正确,便叫我用熟悉的语言实现。我很想用js写,但感觉二叉树还是用C++方便,但是我一万年没写C++了,结果就不言而喻了。

  JS题:实现原型链继承,很简单!

  一面我本来感觉不太好,结果还过了!二面三面前我准备了很多算法,二面结果居然出了一道“把一个整型数字转换为汉语“的题。我想了下很简单啊,循环从最低位到最高位取数,判断是第几位就在数字后加上“十、百、千、万、亿”就搞定了,但其实我也意识到这样还是有个问题,比如123456789转换为“一亿二千万三百万四十万五万六千七百八十九”,和正常的描述相比中间会多几个万。但为了快点写出来,没有bug,我就没多想其他算法了,花了20分钟写完,结果还可以。他没说什么,说结果有点小问题(就是我想的那个问题),就结束了。

  三面,出了一道JS写接口的题,实现对一个缓冲存储区的读写,以达到较好的效率。我就按他的意思写,感觉没什么问题,交给他看,他就说哪里可以改进一下,我就按照他的意思改进,然后他又说哪个还可以改进。。。最后,改的完善了,他说可以了。

  面完后,我感觉还不错,结果今天通知说coding style不太好,考虑问题不够仔细,我就在想你拿一台mac我都用不惯,问一个问题不说清楚,一点点叫我改进,还能怪我?

  总之,最近真的是面累了,没有好的结果,有点忧伤,接近两个月的暑假看来只有自己学习提高了。

  感悟:以前别人都说我很牛,是前端大神,那又有什么用呢?最然时间确实太短,没能找到好的实习,但还是需要找到不足,静心提高自己!

  

原文地址:https://www.cnblogs.com/tangzhirong/p/5671320.html