阿里巴巴菜鸟网络2018届校园招聘Java/c++内推面试题2017年

 阿里菜鸟一轮


1.自我介绍 
  2.问项目(实在没啥好问的,大部分都是增删改查) 
  3.了解冒泡排序吗,时间复杂度呢(讲了一下) 
  4.了解链表吗,自己动手写过吗(说了一下链表怎么写,以CLH队列为例子说了下双向链表的队列怎么实现) 
  5.了解AQS吗,看过源码吗(说了一下AQS的源码和ReentrantLock的源码,说了一点就被打断了,估计知道我看过没往下问) 
  6.了解Hashmap吗(说了下),你知道JDK1.8Hashmap有什么改动吗(引入红黑树,仔细说了一下) 
  7.深克隆浅克隆说一下(这个当时真没答上,没印象) 
  8.了解Java内存模型吗?(基于JSR133说了一下JMM,内存重排序,happens before什么的
  刚要说四种内存屏障又被略过去了) 


  9.哦我想问的是JVM的内存划分(大哥,内存模型是JMM啊说明白啊,于是说了一下永久代那一堆,顺便提了提java也可以自己划分内存) 
  
  
  10.知道垃圾回收机制吗(3种,答了答)gc时各个代达到什么条件会发生迁徙(达到xx比例吧 忘了这个真忘了) 
  11.一般哪部分内存对应哪种回收机制(老年对标记整理,新生对复制,好像是,这个题答得不是很确定) 
  12.JDK1.8有什么新特性吗?(lambada表达式啊
  JUC下Fuction<T,R>,然后我多嘴了,提了一下Google Guava类的集合工具类,于是有了13题) 
  13.你觉得Google Guava工具类的Fuction和JUC下的Fuction有什么区别(Google
  Guava类的Function实际上模拟了一个匿名内部类  JUC那个不知道) 
  14.你知道JKD1.8的JVM指令集上有什么更新吗对比1.7(懵了,这什么玩意?) 
  15.线程的状态(答了答  把sleep漏掉了) 


  16.线程状态切换(重点说了说interrut不会抛出异常,被wait会抛出异常并重新设置中断状态为false,所以如果因为其他操作导致了终端异常需要中心把中断状态置为true) 
  17.finalize会不会立即出发GC,finalize对象复活(这个问题我完全答错了,当时我刚下班,在大街上 太吵
  听成System.gc()了,瞎比答了一堆,还跟人说深入理解JVM那本书我敲过那个代码,简直是。。) 
  18.SpringAop了解过吗(说了说应用场景和底层实现) 
  19.你刚才提到代理了,知道动态代理吗(jdk cglib) 
  20.jdk cglib的区别是什么(jdk接口 cglib extend类所以不能final) 
  前面都还中规中矩 崩盘点来啦 
  21.你有没有了解过开源框架比如Springboot?(了解过) 
  22.看过Springboot源码吗(这个真没有) 
  23.知道java序列化吗(当时懵了 要崩  NIO那部分我还没看,故意把话题往fastjson上拖,结果失败了) 
  24.了解过Netty看过Netty的源码吗(听说过,没) 
  25.了解Dubbo吗 自己动手打过框架吗(了解啊,没动手做过) 
  26.Dubbo源码看过吗(没) 
  27.Zookeeper呢(大哥都没看过,jdk都没看完) 
  28.你下一步的学习计划(看zookeeper源码,把一本阿里系的分布式架构那本书看完,) 
  29.聊了聊分布式系统,分布式锁的实现。 
  30.对了  补充一下还有Jedis源码跟他说了一下,底层依赖socket,JedisSharedPool依赖Commons
  Pool  又把Commons Pool中的Evictor机制给他讲了讲





1.redis的消息队列
2.redis的数据类型
3.用redis做过什么
4.数据用户表是怎么设计的
5.单点登录系统是怎么实现的
6.如何实现共享session
7.登陆系统和前台系统如何拿到同一个cookie
8.http的组成结构
9.http和https的区别
10.https是如何确保数据安全的
11.数据库有哪些索引
12.(这里被坑了)主键索引是聚集索引还是非聚集索引
13.数据库水平拆分和库表散列有什么优点
14.springmvc和struts的比较一些问题
15.为什么要用spring有什么优点
16.接触过那些数据结构
17.java中那些是上述所用的?
18.启动线程的方式
19.线程池有哪几种.干什么用
20.jvm的加载过程
21.java内存模型
22.快速排序的时间复杂度,以及过程已经怎么计算时间复杂度
23.其他还有问到一些但是记不起来了,攒人品,希望一面能过
 







菜鸟一面   
时间:2017年8月2日晚8点       


1.在实习单位做了什么项目    


2.询问了MySQL事务四大特性,用事务做了什么(操作数据库表更新)    


3.mysql事务隔离级别    


4.默认隔离级别(应该是可重复读,但是当时比较紧张,就乱答了。。。。)    


5.为什么使用spring(可以用ioc aop等特性)    




6.spring ioc是什么,为什么使用ioc,为什么使用配置文件,而不使用直接去new    


7.分表用的插件    


8.如何去分区    


9.常见数据库优化(回答了索引,覆盖索引,什么时候应该分表,字段适当冗余)    


10.jvm类加载     


11.双亲委派    


12.为什么使用双亲委派
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值