字节一面 Java后台开发日常实习

看了不少面经,这是第一次面试,记录下来,有的问题不太记得了。。

手写单例模式和两个算法题都做出来了

比较尴尬的是中间问线程池,我说知道,但没咋用过,结果就不问了,知识点其实都知道

问mysql优化,我说优化实际中也不咋用过,然后没接着问,索引引擎事务还是知道的。。,

许愿二面

1、

String s = new String("abc");
内存是如何分配的
"abc"在字符串常量池中
new的对象实例在堆中
引用s在栈中
String s = "abc"
在字符串常量池中寻找,没有就分配内存储存一个,有就直接拿

2、

Integer i = 1;
不会新建对象,直接在缓存中拿
实现没答上来
缓存利用静态内部类IntegerCache来实现
IntegerCache加载时会缓存 -128到127

3、

hashmap 底层结构

数组中存的什么

何时扩容,扩容过程

插入位置如何实现(n-1)&h 充分散列,减少哈希冲突

4、

sychronized作用,优化,解释偏向锁,轻量级锁

5、

hashset的实现

基于hashmap,value都存放名为Present 的object常量

6、

单例模式

只记得懒汉,饿汉,双重校验。。问还有没有,还有枚举和静态内部类

然后手写了双重校验

两个if的作用,和volatile的作用

voltail答的不好,说的可见性避免重复实例化

关键点是防止指令重排

[]: https://www.cnblogs.com/keeya/p/9260565.html

7、算法,n*n的数组顺时针旋转90度

8、算法,判断是否是二叉搜索树

#实习##面经##字节跳动##Java工程师#
全部评论
6 单例模式问题的答案 https://www.yuque.com/gaohanghang/sgrbwh/singleton
2 回复 分享
发布于 2020-08-03 22:02
老哥过了吗?
点赞 回复 分享
发布于 2020-10-03 10:45
你这个有点简单啊
点赞 回复 分享
发布于 2020-08-13 22:48
请问您是大几呀
点赞 回复 分享
发布于 2020-08-05 21:01

相关推荐

我承认之前说话大声了点,没开摄像头也不算KPI,虽然二面还是没开摄像头,但至少约面了嘛开始就简单自我介绍,针对项目进行阐述,对答还算流畅,但是有的实际高并发场景细节并没有答上。八股部分就问了常见的redis八股,比如击穿、穿透、雪崩以及应对策略,最后雪崩的应对策略没答全,但也差不多了。算法题有点难第一个是,循环输出启动3个线程,分别循环打印1、2、3,并且要求输出顺序严格为"12312312.3."。让三个线程交替输出自己的内容,我准备的不大充分,之前遇到过,但看答案有接近一百行,写不出来。第二个是,对于一个含有n个元素的数组,可以划分为m个小数组使他们和相同,比如数组为{1,3,4,2,2}时,n=5,可以划分为m=1,{1,2,3,4,2}; 当m=2时 {1,2,3}和{2,4}各自和为6;当 m=3时{1,3}、{2,2}、{4}各自和为4;当m=4时不可划分,所以m最大为3。请你设计一个算法,对于任意输入的数组,求m最大值。类似leetcode40题组合2,但比那个复杂的多,因为target要自己一个个去尝试,并且元素不能重复使用,我事后花了一个晚上才写出来,幸好面试时没有死磕。第三题是,统计一个字符串中出现最多的字符,我直接用128位的int数组计数,面试官问我冗余空间,我说使用map会引入更多内存,且效率没数组高。最后还有一个开放性智力题,问我如何估算一个地区的奶茶店总数目。我本来想着直接美团上看附近的店家数据,但是这只能限定距离范围,无法覆盖全市。所以想着通过各个商家自己的微信小程序,计算前10个品牌(比如蜜雪、霸王、茶百道、瑞幸……)在该地区的总数目n,再在某个商圈进行抽样,找到这10家品牌占总共奶茶店的数目(比如占比70%),那么全地区的数目可以用n/70%来粗略估算。
点赞 评论 收藏
分享
评论
3
34
分享

创作者周榜

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