一面基础(1小时)

  1. java常用数据结构(集合类Set,List,Map从特点到底层)
  2. Java内存模型
  3. Java的GC机制
  4. 给出中序,后序求前序,求回文和两栈模拟队列
  5. 是否阅读过开源代码(只是知道一些开源框架,最多用,不了解怕考底层,直接说不会)
  6. Java并发,锁
  7. 海量数据找出前面n个
  8. TCP协议下发送一条消息至少需要多少个包,给出协议属于哪一层
  9. 了解分布式计算吗
  10. 对自己的评价
  11. 考研还是工作,为什么?

QZ大哥建议

  1. 多接触一些新的框架,新的技术,开阔眼界
  2. 做实际项目,通过项目提升自己

小结

和QZ大哥的面试是轻松愉快的,不懂的从现在开始去弄懂它吧,其实就一面结果来说自己是完全没有想到的,我非常珍惜这一次的面试机会。附我为自己定义一条方程式:
(6+3+1+2+12)*days = success

二面项目(35分钟)

  1. 为什么想找一份实习?为什么不读研?(紧张,没有好好整理思路,答得让人觉得自己只是想通过实习获得经济,其实本意不是这样的)
  2. 讲讲你做过的项目(小型电子商务网站)?你觉得做得好的地方在哪?
  3. 分析web项目中的一个模块?会有什么问题?数据库连接有什么问题?
    • 数据库连接应该改为连接池实现方式,连接数太小满足不了高并发要求。
    • 数据库的PreparedStatement的语句预编译是语句还是数据?
      PreparedStatement可以动态设置参数,保存的是sql语句
    • 数据库连接连接是否成功判断,有效性(另一个项目写了,这次想能够迅速实现忽略了,经验教训)
    • 把连接写死了,如果对不同的数据库呢?增加动态参数,根据数据库,用户,密码进行连接。
  4. 你说到经常逛一些社区,你觉得什么样社区是优秀的社区?
  5. 你说到了独立?你怎么定义独立?答得非常不好,经济独立,人格独立,估计被认为是为了挣钱进阿里
  6. 你有什么问题要问我呢?问了在这样阿里工作感受,实习生培养方案,问了如何与企业项目级开发接轨

M大哥建议

  1. 多阅读新的框架源码,多用(一面QZ大哥也提到了,一定要重视)
  2. 多贴自己的代码给别人看,看是否有什么不足,从中学习,改进。
  3. 怀疑每一行代码

小结

一面幸运的通过了,但最终只有真正有实力的人才能留到最后。打击固然是有的,但更多的是让我从新审视了阿里,也明白了做Java的为什么如此渴望进阿里,那是对技术的渴求。本次面试唯一遗憾的是技术之外的想法没有好好表达出来,虽然没有实力这些都是无根之木。

声明:本站所有文章均为原创或翻译,遵循署名 - 非商业性使用 - 禁止演绎 4.0 国际许可协议,如需转载请确保您对该协议有足够了解,并附上作者名 (Tsukasa) 及原文地址