招银网络校招提前批一面20min

我之前在B站实习,所以对Go比较熟悉
面试官人很好很温柔,上来先让我做了自我介绍,然后在得知我并不熟悉Java技术栈之后表示会少问点Java八股文
上来五分钟介绍项目
1. 项目中redis和MySQL中数据存在的不一致性该如何解决?
然后就是常规的八股文
2. Java HashMap是什么,怎么实现
- LinkedList & RBTree
3. Java 如何初始化一个线程
- Thread / Runnable
4. Java 线程的状态
- 不了解,于是说了说操作系统中线程的状态
5. 线程可能引发的问题
- 数据竞争,通过 synchronized / volatile 解决,但是没问我底层原理
6. Redis 是单线程还是多线程
- 多线程,但是处理用户请求的主线程是单线程
7. Redis 特性
- memory based KV store
- 数据结构丰富
- 支持持久化 RDB & AOF
8. Redis 缓存雪崩是啥,怎么处理
8. 项目中用到了 ES,为啥 ES 快
- 倒排索引
9. ES 中一个请求的过程
- 面试官想问的是文档分片的机制,我不太了解 ES 是怎么实现的,但猜应该和 Hadoop 生态的实现差不多,大概就是主从结构,然后一个机器在内存中存所有文档的元数据
10. 代码,判断链表有没有环
- 典中典

全程20min,问的都是典中典的问题,比较简单,不知道是不是对我这种没有Java背景的不感兴趣...


#面经##校招##招银网络##Java工程师#
全部评论
SP选手
点赞 回复 分享
发布于 2021-05-27 18:01

相关推荐

11-04 18:02
已编辑
门头沟学院 Java
一笑而过2222:一、Redis 数据类型 1. 字符串(string):可以存储任何类型的字符串,如文本、数字等。可以进行自增自减等操作。 2. 哈希(hash):类似于 Python 的字典,存储键值对集合。适合存储对象信息。 3. 列表(list):按照插入顺序排序的字符串元素集合。可以进行从两端的插入和弹出操作。 4. 集合(set):无序的、不重复的字符串元素集合。支持交集、并集、差集等操作。 5. 有序集合(sorted set):每个元素都关联一个分数,可以按照分数进行排序。常用于排行榜等场景。 二、Redis 跳表 Redis 的有序集合(sorted set)是通过跳表实现的。跳表是一种可以替代平衡树的数据结构,具有以下特点: 1. 插入、删除、查找操作的时间复杂度均为 O(log n),与平衡树相当。 2. 实现相对简单,比起平衡树更易于理解和实现。 3. 可以在不同层次进行快速的遍历和查找,提高了查找效率。 三、抽象类和接口类区别 1. 定义: - 抽象类是用 abstract 关键字修饰的类,可以包含抽象方法和具体方法。 - 接口是用 interface 关键字定义的,只包含抽象方法和常量。 2. 继承: - 类只能单继承抽象类,但可以实现多个接口。 3. 方法实现: - 抽象类可以有部分方法的具体实现,子类可以继承这些实现或者重写它们。 - 接口中的方法都是抽象的,实现接口的类必须实现所有的方法。 4. 变量: - 抽象类可以包含成员变量,既可以是普通变量也可以是静态变量。 - 接口中只能定义静态常量。 四、重载和重写,子类能否对父类重载重写 1. 重载(Overload):是在同一个类中,方法名相同,但参数列表不同(参数类型、参数个数、参数顺序不同)。子类不能对父类进行重载,因为重载是在同一个类中的概念。 2. 重写(Override):子类继承父类,子类中的方法与父类中的方法具有相同的方法名、参数列表和返回类型,并且子类方法的访问权限不能小于父类方法的访问权限。子类可以对父类进行重写。
查看30道真题和解析
点赞 评论 收藏
分享
评论
1
12
分享
牛客网
牛客企业服务