2017阿里校招内推面试回忆

               

首先,我得声明,我经历了内推的四次电话面试,一直到hr面了,但是最后还是被挂了,所以,对大家的帮助可能不是那么大,如果大家对我这个失败者的经历不是很感兴趣的就不用往下看

后来校招的时候,笔试直接就挂了,我猜测是不是跟我之前内推失败的记录有关




OK,先介绍一下自己,本人是西安一所计算机还可以的211高校的研二学生,没有实习经历。7月底请师兄做了内推。


8月1日 一面  50分钟
1 项目需求分析有没有用工具?
  没有
2 Uml中的用例图熟悉不?
  我知道类图与时序图,我清楚的知道类图依赖,关联,聚合,组合的区别,但是用例图真不熟悉
3 servlet里有哪些方法,是否线程安全
  首先我们自己写的MyServlet是继承自HttpServlet的,而HttpServlet是继承自GeneiicSerlvet,GenericServlet实现了Servletconfig接口,同时GenericServlet里面也有一个GenericServlet对象
  HttpServlet有init方法,service方法,还有destory方法,还有dopost,doget
  它不是线程安全的,如果给servlet里面加了成员变量就线程不安全了
  参考资料: http://blog.csdn.net/dlf123321/article/details/49201303
4 Http的Post与Get有什么区别
  post是加密的,在浏览器的地址栏上看不到传递的消息,get相反
5 那么post一定是安全的么?
  不是,使用chrome或者火狐的调试工具,即使是post也能看到传递的消息
  面试官问,那如何让post真的的安全
  这个我当时没回答上来
  后来找资料,得到下面的结论
  使用md5加密,先生成一个随机字符串例如a,用户提交的密码是b,让a与b组合起来,进行加密成为c,然后把c与a组合成为d,通过网络传递到后台
  后台通过用户名(这个没有加密),找到数据库里的真实密码,然后与随机字符串a组合成为c',再让a与c'组合成为d',比较d与d'是否一致就OK
  但是我有一个问题,首先用户在浏览器上能不能看到随机字符串到底是什么?
  第二加密得到c之后,再与a组合成d,这一步是必须的么?
  这个两个问题,我没有想明白,那我朋友知道的,告诉我一声

4 servlet与jsp的关系?
  jsp被tomcat编译成serlvet,而servlet就是一个普通的java类
  jsp中的那些隐含对象,例如application,out等都是serlvet的servlet方法里面的局部变量或者参数
5 tomcat4与7的区别,最新的是几?
  4的连接器是一个叫p开题的连接器,在7中有更先进的做了替换
  7支持nio
  最新的是9
6 hashmap原理
  我就说了链表,entry,头插法等等
7 负载均衡的实现
  分类有dns,http,应用层负载,ip层负载,数据链路层负载
  参考资料: http://blog.csdn.net/dlf123321/article/details/52131542
8 session共享
  谈到了一致性hash,就是那个大的hash环
9 说说比赛
  我自己参加过阿里的天池大数据 笔试,我介绍了一下比赛,同时说了我的几个创新点
10 java加载xml的方式有几种,都有什么区别?
   我回答:我记得有4中,有org和w3c的,具体的区别不知道
   其实,后来查资料发现有dom,jdom,sax,dom4j等等
   具体区别如下: https://my.oschina.net/zmf/blog/397468
11 http是七层协议里面的第几层?  我该说说http协议的组成
   这个我不知道,当时就蒙了一个表现层,然后我说了一下http的组成,请求头请求体之类的
   其实http是应用层的
12 设计模式,讲解  
   我谈到了tomcat中用到的facade模式,然后举了我在家是子女但是在学校就是学生,同一个对象有不同的职责,这个例子
   后来想想,设计模式这个东西,第一面试的时候,自己就不应该主动提,第二就是即使谈到了这个,也不要举例子,你就直接背定义就好,因为我举得例子是在太烂了
13 struts2的实现原理
   就是struts2的那个大图,在struts2的文档里就有


 总结
1 面试的时候,不要太激动,你讲话讲的太快,面试官会听不清楚
2 要告诉面试官 你熟悉哪些东西,然后把向你熟悉的领域引。
3 基础很重要 8月初我对数据结构和网络的东西还都没有复习,解析xml和http是第几层的回答是个大败笔



8月5日 二面  30分钟
1 虚拟机长时间运行,会出问题,你遇到过哪些?  
  我自己没有遇到过,单身我会写代码验证虚拟机可能出现的问题,例如堆溢出,栈溢出等等
  后来想想,人家说的应该是你有没有过处理虚拟机内存泄露的经验
  后来学习了一下: http://blog.csdn.net/ylyg050518/article/details/52354879
2 说话你的项目
  bababa.....
3 项目有什么难点
  我当时给他说的是这个: http://blog.csdn.net/dlf123321/article/details/50218829
  然后说我觉得这就是单例模式在应用层的一个表现
4 说说单例模式,你是怎么写的?
  这个我当时就把我的博客的内容几乎复述了一遍:
  http://blog.csdn.net/dlf123321/article/details/42062669
5 有没有想过把你们的项目改造一下
  我从前端,js与css的位置,图片放到多个域名下,cdn
  聊到了应用层的负载均衡,集群,缓存,消息队列,到数据的分库分表
  说了很多,参见: http://blog.csdn.net/dlf123321/article/details/51360739
6 那你实践过哪些呢?
  恩,我试过缓存,但是都是小范围的,带学习性质的使用(开始心虚了,上面的那些理论我懂,但是实践真没有),
7 你还有什么问题么?  
  我说,那如果我以后能加入阿里...还没说完,我就又说,额,这个扯远了,不说这个了


总结
1 实践太少,只知道理论不行呀
2 我是没有实习经历的,这个是个硬伤,我应该从下面三方面来补充一下
  2.1大的比赛 例如阿里的那个天池大数据 我得好好梳理一下
  2.2开源项目 不只是我阅读过的源码,还得有总结的开源项目
  2.3重复轮子 有没有复写过tomcat呀?(我读过tomcat4的源码,有二十几篇博客来记录学习过程)回去梳理梳理
3基础  
  就是算法与操作系统




8月11日 三面  20分钟
1 说说项目
  1.1 bjadmin 看下级问题(这个叙述略麻烦,反正就是项目中的一个难点吧)
  1.2 我说了阿里的那个比赛,他和我聊了一下比赛的事,我分析了一下我的项目的设计思想,同时告诉他,比赛结束后,我还去git上看了别人的优秀的代码,并且与自己做对比
2 性能扩张
  2.1性能 高可用 跟一面那个差不多 http://blog.csdn.net/dlf123321/article/details/51363186
  2.2 session环 就是那个一致性hash
  2.3 服务化-->dubbo调用或者rocketmq
3 提问题 
  我问他,关于spring,听说阿里有过重写,你们咋做的?
  他说自己并不搞那部分,不是很清楚,他猜测肯定是跟业务相关的...balabalabala....
  我当时就趁机提到了,前几天的阿里开源了他们的mysql分支据说在秒杀情况下,性能提升了100呗




8月15日 hr面
1 你没有实习过么
  没有,老师不准
2 我主动提到了之前干过的一个带有创业特性的的项目,这个聊了一会
3 我提到了阿里的大数据比赛
4 她问:你做这些的时候,没有耽误老师的工作么?
  我回答都是课余时间做的
5 你有什么规划么?
  其实我得回答偏题了
  我说我想进阿里,然后说我看过好多阿里的书,知道阿里的技术很牛逼,然后列举了很多技术,同时说我还知道阿里有个多隆大神,balabala..


 后来我从师兄那知道,我得hr面试都过了,但是后面还是被拒了
 我自己总结主要的问题出在第一二次面试上
 第一次是因为 基础不够扎实,http是第几次都不知道..我也是醉了
 第二次是因为 没有实践,光知道理论上不行的

 其实整体来说,我也认了,咱和优秀的学生,确实是有差距的





           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/qq_43678748/article/details/86173063