首页 > Java后端实习 base:上海
头像
敲代码的小白
编辑于 2021-02-09 10:25
+ 关注

Java后端实习 base:上海

字节一面(一小时)

一、3道算法题

上来3道算法题,让选一道,做的快让你在做一道

1、打家劫舍 https://leetcode-cn.com/problems/house-robber-ii/

2、在字符矩阵中判断能否组成一个字符串?  用深度遍历

3、最大连续子串

https://leetcode-cn.com/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof/

MySQL索引结构,InnoDB的聚簇索引和普通索引。

回表的概念

联合索引的存储情况,最左匹配原则。

B+树相比于B树的优点。B+树好于B树,那么B树有哪些使用场景?B树的使用场景:MongoDB

MySQL的隔离级别,幻读的概念

MySQL的默认隔离级别是RR,如何解决幻读的问题?间隙锁。

MVCC的工作原理。Read view如何实现数据可见性判断?

Redis为什么这么快?主要原因还是存储在内存中,数据操作快。说了单线程不是Redis快的原因。Redis 6.0以后推出了多线程版本。还一个原因是key-value键值对数据操作简单。

Redis的基本数据类型。String、List、Hash、Set、Zset。

Zset的底层实现:跳表。什么是跳表?

https://www.jianshu.com/p/dc252b5efca6

如何保证数据库和Redis的数据一致性,先更新数据库再删除缓存。先删除缓存再更新数据库这两个方法分别存在什么问题?

如何解决?这个当时没想出来

可以参考:

https://gitee.com/shishan100/Java-Interview-Advanced/blob/master/docs/high-concurrency/redis-consistence.md

Java基础

Object类下面有哪些方法    猝不及防,忘了 只说了hashcode,toString,wait。

应该有(object构造方法、getClass、hashCode、equals、clone、toString、notify、notifyAll、wait、finalize(JDK9遗弃))

HashMap的put过程。

线程池7大核心参数,线程池执行任务的过程。

字节二面(45分钟)

两道算法题

盛水最多的容器:https://leetcode-cn.com/problems/container-with-most-water/

132模式:https://leetcode-cn.com/problems/132-pattern/

Object类有哪些方法?

线程有哪些状态?wait和block的区别?Wait超时后会怎样?

其实wait的线程被唤醒后其实会进入block的状态去抢锁,而国内大部分博客都画成唤醒后进入就绪状态。我当时说这个观点,面试官也疑惑了一下,然后解释了这个原因。因为wait是在同步代码块中运行的,所以被唤醒后会要去抢锁,抢到锁才会进入就绪状态,这不乏是个小亮点。可以看下老外的这张线程状态转换图

https://www.zhihu.com/question/27654579

Synchronized加锁机制

死锁的产生,怎么解决?讲了下死锁的4个必要条件

哈希值有什么用?

HashMap的put过程,hashcode方法为什么要&数组长度的length-1,如果重写hashcode方法都为1会怎么样?一直会发生哈希冲突,全部结点在那一个下标下形成链表,然后转化为红黑树。

计算存储下标时&操作比%操作的好处?长度采用2^n的好处?

HTTP有哪些请求方法,GET、POST、PUT、DELETE、TRACE、HEAD。分别代表什么意思

Cookie和Session的区别,什么是session共享?

进程、线程、协程

进程间通信方式,分别解释了下实现的原理和存在的问题。

自己目前有什么打算?

Hr面试(20分钟)

实习时间。为什么考研?读研期间的经历?为什么想来字节?反正就是聊天式的面试。


总结下吧:字节总体面试下来还是十分舒服的,hr小姐姐非常亲切,第一个面试官我在回答问题和讲解代码的时候,都会肯定下,不打断你让你一直讲。第二个面试官稍微有点高冷。然后自己在回答问题的时候尽量把自己知道的都讲出来,可以稍微引导下面试官往自己知道的知识问,比如问我redis为什么快的时候?我会提到单线程并不是redis快的原因。接着他会问我为什么?我说wait被唤醒后会进入blocked状态?他也会问下为什么是这样?


非常感谢guide哥整理的面试资料,非常全:https://github.com/Snailclimb/JavaGuide

最后祝小伙伴都能成为offer收割机,拿到心仪的offer。

更多模拟面试

全部评论

(11) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐