我本来报的岗位是企业事业群,后来把我分配到了技术工程群

希望对明年找工作的朋友们能有一点帮助


一面

  21号 大概1小时 面试半小时 聊天半小时

 1 二叉树的查找


   我大笔一挥,在纸上写下了下面的的代码

public static TreeNode find(TreeNode tree,int target){
if(tree==null)
return null;
if(tree.val==target)
return tree
if(tree.left!=null)
return find(t.left,target);
if(tree.right!=null)
return find(t.right,target);

return null;
}

   面试官看了一眼说,恩,左边不是空就去找左边,恩..恩..好,然后就把代码放到了一遍,开始聊后面的问题。


   但是等我回来一看,感觉还是不好,看下面的代码:


 2 都用过什么数据结构


    队列,说了一下阻塞队列,还有循环的实现方式


    hashmap,说了entry数组,hashcode与equals方法还有头插发


 3 hashmap有什么作用


    这个问题当时把我给问傻了,我没听明白面试官的意思,他看我没听懂就补充了一句,如果没有map那数据岂不是得一排一排一个一个的放?


 4 性能提升上具体怎么做 


    我把李智慧老师的<<大型网站技术架构>>里面的性能篇说了一遍



 5 只能看下级的问题-->



   这是我另一个项目的小问题


 6 家在哪? 腾讯在深圳是否愿意来?


 7 java c++问题  腾讯都是java,你怎么看?


   强调语言只是工具,不要限制自己,我能写java不代表我只能写java!


 


 然后我给面试官看我我做的ppt


 话说这个ppt,只是一个小东西,是面试官说:OK,我的面试就到这里了,你还有什么要问的吗?之后我才拿出来的,这个东西不可喧宾夺主。


 我的ppt下载地址,

​http://pan.baidu.com/s/1pLwARQN​



 然后面试官又和我闲聊了一会


 1 精细 粗放


  在工作中,有时候最先考虑的是怎么赶紧把项目做完,只要性能,扩展性还有所使用的技术的核心原理,往往不是那么重要。


 2 关于语言 


  我们聊了一会语言的问题,面试官的意思是说,我们要发现问题,分析问题,解决问题,而语言只是最后的实施,当你的级别高了之后,你就不会太关注具体的实施了


 3 要站得更高 发现还没有出现的问题


  发现问题,分析问题,解决问题,最难的其实是发现问题,特别是在还没有问题的时候,自己探索出新的需求,发现未来的问题,例如若干年前张小龙提出微信这个项目,例如现在google的无人驾驶...我们要提高自己的见识,或者说眼光。


经验:

可以做个小ppt展示自己,但是切记,不要舍本逐末,哗众取宠,

李智慧的<<大型网站技术架构>>一定要看一下

二面

 23日  40分钟


 1 项目技术难点/或者说印象深刻的地方


   我提到了



   然后说,这就是单例模式在逻辑层的一次应用。


   又问我怎么没有实习过?


 2 负载均衡的分类


   我基本上吧

我的这篇博客口述了一遍(刚好前几天复习过)


   然后我在讲的时候 就边说边画图,面试官还一直在问我各个解决方案的不同


 3 说说负载算法?


   我当时其实并没有理解他说的负载算法指的是什么。就按我的理解,说可以平均分配,也可以按比例分配,还可以看那个服务器比较闲,就给那个分配。然后我就自己提到了,把session单独放到一个服务器里的想法,和redis,同时告诉他我集成过apache+tomcat+redis。


 4 怎么知道tomcat没死


    我说zookeeper


 5 你知道令牌环么?


    说实话,我真不知道。就跟他扯了一下一致性hash,就是那个hash环


 6 聊了一下我自己设计的 lt分发系统


   1 把面试官给你熟悉的领域拉,他问一个点的时候,你首先有一两句话直接回答他的问题,然后可以适当的往边缘扩展一下,如果你看面试官对你的扩展有兴趣,就继续聊呗。
   2 然后就是边说边写,有点时候一图胜千言,特别是在分析一下复杂问题的时候,要记得画图说话。


 三面 

二面结束后5分钟就开始三面,大概20分钟

 1家庭情况


 2女朋友问题


 3还有什么offer


 4愿意来深圳么


 5腾讯主要是c++,我自己比较熟悉java,问是否有问题