记阿里影业的电面

最近找工作,面了挺多公司的。因为之前自己主要是写 Erlang,做游戏。现在想转行互联网,语言转 Java。双转,所以压力挺大的。因为担心自己在 web 开发方面经验不足,所以准备面试的时候会根据岗位的要求,看一些 web 方面的东西。但是经过这些次面试发现基本上叫你去的是不太在乎你过去的项目是否相符,都是围绕你的项目问问题,不会问你简历上没提到过的技术框架。如果是很在乎经验相符的基本上就不会叫你去面试。所以没必要花太多时间准备自己没用过的东西,大概了解下即可。
一般公司的面试我还能对项目的东西侃侃而谈,面试官问的基本上是大方向上的问题。他们自己没做过游戏,所以可能觉得也不知道怎么深入地问。但是昨晚阿里影业的电面,面试官问我的问题就比较深入和细致了。一些比较基础的东西,虽然自己有看过代码,有所了解,但毕竟不是自己写的,而且也没有对项目做太多准备,所以真的是被问倒了。我觉得这是一次比较好的面试,面试官虽然没做过游戏,但是能找到角度问出比较深入的问题。记录下经验吧。
提问的思路很清晰:项目 + 基础。
【记阿里影业的电面】Java 基础就不多说了,就一般常考的 Java 基础。项目怎么问呢,问你项目的架构,然后自然地讲到你们用了什么框架,用来做什么,怎么用的,考你对这些框架的特性、原理的了解程度。倒不用深入到框架原代码的程度。
问项目,比如这样问
你提到你们是自己定义了一套协议,那你能讲讲你们登陆协议是怎么做的吗?(我。。。)那你觉得这样设计合理吗?(我当时就心虚了:难道不合理吗?我说大家一直都是这样做的啊,没想过,然后面试官就说:啊,合不合理没想过啊,就因为一直是这样做的。其实我是觉得合理的,事后想想说合理,然后把理由说出来就好了,真不合理可以讨论)
你提到协议是字节流,那怎么知道有没有读完呢?你能再讲讲你们的协议具体有哪些内容吗?
问框架,比如这样问
你们用 Netty,那用 Netty 起一个服务的时候要设置哪些东西呢?
你们用 Spring,那你知道 Spring 的实现是基于 Java 的什么特性吗?
你们用 Hibernate,那你有用到它的缓存吗?能跟我讲讲他的几级缓存吗?
(这是 15 年的经历)

    推荐阅读