面经-2020阿里菜鸟网络春招实习

一面 43min

自我介绍

介绍一下你最深刻的项目,项目架构是什么?(后面围绕项目展开提问)

项目中遇到的难题是什么?你怎么解决的?

项目你觉得有哪些需要改进?从中学到了什么?

String不可变的原理是什么?为什么要设计成不可变的?

char数组用final修饰的;
如果可变,字符串常量池引用会混乱;String缓存了自己的hash,如果可变,但是hash不会变,在HashMap、HashSet中会出现问题;String经常用作参数,如果可变则不安全。

StringBuilder和StringBuffer的区别?看过它们的源码吗?他们谁的性能高?

线程安全问题,StringBuffer使用了synchronized,StringBuilder性能较高

String str1 = "abc" 创建了几个对象?String str2 = "ab"+"c"创建了几个对象?

考察字符串常量池

ArrayList和LinkedList插入一条数据时谁的效率高?插入上万条数据时谁的效率高?

插一条数据分在什么位置插,如果末尾则差不多,如果中间则LinkedList;插入很多条的话考虑到ArrayList会扩容,LinkedList高

HashMap源码看过吗?实现原理是什么?

实现线程池为什么不用Executors的静态方法生成固定的那几个?

FixedThreadPool和SingleThreadPool使用了无界队列,会出现OOM,CachedThreadPool和ScheduledThreadPool的最大线程池数设置为Integer.MAX_VALUE,也会出现OOM

如果自己创建一个ThreadPoolExecutor,怎么设置核心线程池数和最大线程池数?

几个参数的原理,如何设置这些参数要看具体使用场景,cpu密集型和io密集型

Java中的注解有哪些?你自定义过注解吗,怎么用的?

说一个你熟悉的排序算法,怎么实现的?

说一个你熟悉的数据结构,你可以怎么实现?

项目中用到的设计模式,怎么用的?

你有什么要问的吗?


二面 45min

TCP和UDP的有什么区别,原理是什么?

浏览器中访问一个网址,都发生了什么?

spring加载bean的流程是什么?

synchronized和lock的区别?

ConcurrentHashMap的原理是什么?

说说JVM的内存结构?

垃圾回收算法有哪些?

Mysql的索引

了解MySQL的隔离级别吗?说说各自解决的问题

说说你了解的设计模式

平时是怎么学习新技术的?

你还有什么要问的吗?


实习只有两轮技术面,三面是hr面,每次面试差不多间隔一周。

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务