首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
归来否
华南师范大学 Java
发布于广东
关注
已关注
取消关注
@一只田田:
成都-友邦咨询-线下面试-Java开发
笔试:英语逻辑题 英语作文面试:1. 英语自我介绍 口语交流(问答一个问题)2. Java 四个特性:面向对象、封装、继承、多肽的各自特点面向对象:Java是一门面向对象的编程语言,所有的操作都是基于对象的。它将真实世界中的事物抽象成对象,然后通过类的定义来描述对象的属性和行为,并且支持封装、继承和多态等特性,让程序更加模块化和易于维护。封装∶封装是指将对象的状态信息隐藏起来,只提供有限的访问方式。Java中的封装可以通过访问修饰符来实现,比如public、private、protected等。通过封装,我们可以保证对象的安全性和可靠性,同时也可以隔离对象的内部实现,让客户端无需关心具体的实现细节。继承:继承是指在已有类的基础上定义新的类。在Java中,子类可以继承父类的属性和方法,同时也可以通过重写和覆盖来实现自己的特殊需求。继承可以提高代码的复用性,同时也可以简化代码的实现。多态:多态是指同一种行为具有多种不同的表现形式。在Java中,多态可以通过方法的重载和覆盖来实现。在重载中,同一方法名可以根据参数列表的不同调用不同的方法;在覆盖中,子类可以重写父类的方法,并且在运行时根据具体的对象调用相应的方法。多态可以提高代码的灵活性和扩展性,同时也可以减少代码的耦合性。3. private和protected的区别private是完全私有的,只有自己可以访问,派生类和外部都不可以访问protected是受保护的,只有派生类可以访问,外部不能访问在类外如果想使用类中的成员,只能直接使用public类型的,proteced和private都是不能访问的,对于类外而言,这两个是完全相同的4. 数据库 事物 1.1 事务传播方式(七种)spring事务的传播行为说的是,当多个事务同时存在的时候,spring如何处理这些事务的行为。① PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。② PROPAGATION_SUPPORTS:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就以非事务执行。③ PROPAGATION_MANDATORY:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就抛出异常。④ PROPAGATION_REQUIRES_NEW:创建新事务,无论当前存不存在事务,都创建新事务。⑤ PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。⑥ PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。⑦ PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则 按REQUIRED属性执行。1.2 五个隔离级别spring 有五大隔离级别,默认值为 ISOLATION_DEFAULT(使用数据库的设置),其他四个隔离级别和数据库的隔离级别一致:1. ISOLATION_DEFAULT:用底层数据库的设置隔离级别,数据库设置的是什么我就用什么;2. ISOLATION_READ_UNCOMMITTED:读未提交,最低隔离级别、事务未提交前,就可被其他事务读取(会出现脏读、幻读、不可重复读);3. ISOLATION_READ_COMMITTED:读已提交,一个事务提交后才能被其他事务读取到(会造成幻读、不可重复读),SQL server 的默认级别;4. ISOLATION_REPEATABLE_READ:可重复读,保证多次读取同一个数据时,其值都和事务开始时候的内容是一致,禁止读取到别的事务未提交的数据(会造成幻读),MySQL 的默认级别;5. ISOLATION_SERIALIZABLE:序列化,代价最高最可靠的隔离级别,该隔离级别能防止脏读、幻读、不可重复读。脏读 :表示一个事务能够读取另一个事务中还未提交的数据。比如,某个事务尝试插入记录 A,此时该事务还未提交,然后另一个事务尝试读取到了记录 A。幻读 :指同一个事务内多次查询返回的结果集不一样。不可重复读 :是指在一个事务内,多次读同一个数据,结果不一样。1.3 acid有冲突吗覆盖事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)原子性:事务是数据库的逻辑工作单位,事务中包括的所有操作要么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变成另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能相互干扰。持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。5. Java1.8jdk中的stream流介绍Stream 支持并行处理,可以通过 parallel() 方法将流转换为并行流,目前我们使用的Stream流是串行的,就是在一个线程上执行。parallelStream其实就是一个并行执行的流。获取Stream流的方式:java.util.stream.Stream 是Java 8新加入的流接口。(并不是一个函数式接口)获取一个流非常简单,有以下几种常用的方式:● 所有的 Collection 集合都可以通过 stream 默认方法获取流(顺序流);● 所有的 Collection 集合都可以通过parallelStream获取并行流● Stream 接口的静态方法 of 可以获取数组对应的流。● Arrays的静态方法stream也可以获取流6. redis中可以设置null吗?可以,可以解决缓存穿透。缓存穿透是指查询一个一定不存在的数据。由于缓存不命中,并且出于容错考虑,如果从数据库查不到数据则不写入缓存,这将导致查询这个不存在的数据,请求每次都要到数据库去查询,失去了缓存的意义。解决方案 1. 利用过滤器:由于请求的参数是不合法的(每次都请求不存在的参数),使用布隆过滤器 (BloomFilter)或者压缩 filter 提前拦截,不合法就不让这个请求到数据库层! 2. 设置空值:当我们从数据库找不到的时候,我们也将这个空对象设置到缓存里边去。下次再请求的时候,就可以从缓存里边获取了。这种情况我们一般会将空对象设置一个较短的过期时间(不超过 5 分钟)。7. redis roketmq基于RocketMQ和Redis实现削峰、重复消费问题、幂等性处理;幂等性是指对同一操作进行多次执行,结果与仅执行一次的效果相同。简单来说,无论执行多少次,结果都是一致的。在消息系统中,幂等性非常重要。当涉及到消息的发送、处理和消费时,保持消息的幂等性可以确保系统在面对重复消息时不会产生副作用或不一致的结果。RocketMQ消息重复消费原因1. 客户端重复发送:在某些情况下,客户端可能由于网络问题或其他原因导致消息发送失败,然后再次尝试发送相同的消息。这将导致消息在 RocketMQ 中重复消费。2. 重试机制:RocketMQ 提供了消息重试机制,如果消息在消费过程中发生异常,消费者可能会重新拉取相同的消息进行消费。如果消费者的处理逻辑没有幂等性,则消息可能会重复消费。3. 消息消费者宕机和重启:当消息消费者由于宕机、重启或其他原因停止消费一段时间后再次启动时,它可能会重新从上次的消费位置开始消费。如果消息消费者没有正确维护消费进度或消费进度存储出现问题,就可能导致消息被重复消费。4. 集群模式下的消息重复消费:在 RocketMQ 的集群模式下,如果多个消费者订阅相同的主题,并且每个消费者组都独立消费消息,那么同一条消息就有可能被不同的消费者组重复消费。幂等性处理原理在RocketMQ的消费端,我们可以通过Redis实现幂等性处理的原理如下:1. 消息消费前,先判断Redis中是否存在该消息的消费记录。2. 如果Redis中存在该消息的消费记录,则说明该消息正在被消费,可以跳过当前消息的消费,避免重复执行。3. 如果Redis中不存在该消息的消费记录,则进行消费并将该消息的消费记录写入Redis。4. 消息消费完成后,可以释放Redis中该消息的消费记录。流量削峰:流量峰值时刻是一个非常恶性的问题,当一大批的用户同时访问应用程序时,可能会导致服务器崩溃和应用程序的严重延迟。这是因为在流量高峰期间,服务器无法同时服务于大量的请求,导致应用程序无法及时响应并提供服务。1. 为了解决这个问题,我们可以借助Redis实现流量削峰,从而更加高效地处理并发请求访问。流量削峰的基本思路是将高峰期的请求存储在一个缓存队列中,然后逐步将请求从队列中取出并处理。通过这种方式,我们可以重点关注应用程序的承载能力,避免服务器的压力过大。基于Redis的流量削峰的实现相对简单,我们可以使用Redis的列表(List)结构来作为存储请求的队列。具体来说,我们可以使用一个Redis列表模拟队列,将所有的请求添加到队列的末尾。而当请求被一个工作线程取出并处理后,它会从队列的头部取出。2. 通过MQ的方式,将订单存储到MQ队列中,消费端通过拉取的方式,并且拉取速度由消费端来控制,则就可以控制流量趋于平稳。这样对于结算系统来讲,就达到了削峰填谷的目的。或者说起到控流的目的8. 集合集合类包括 :Collection(集合)和 Map(映射)两大类,Collection接口包括Set(无序不重复)和List(有序可重复)两个子接口。1. List 接口的实现类主要有:ArrayList、LinkedList 以及 Vector 等;2. Set 接口的实现类主要有:HashSet、TreeSet3. Map 接口的实现类主要有:HashMap、TreeMap、HashTable。Set: treeset hashset相同点:单例集合,数据不可重复不同点1:底层使用的储存数据结构不同:1,Hashset底层使用的是HashMap哈希表结构储存2,而Treeset底层用的是TreeMap二叉树结构储存。不同点2:储存的数据保存唯一方式不用。 1,Hashset是通过复写hashCode()方法和equals()方法来保证的。 2,Treeset是通过Compareable接口的compareto方法来保证的。不同点3:1. hashset无序 Treeset有序储存原理:hashset:底层数据结构是哈希表,本质就是哈希值储存。通过判断元素的hashcode方法和equals方法来保证元素的唯一性。当哈希值不同时就直接进行储存。如果相同,会判断一次equals方式是否返回为true ,如果是true 则视为用的同一个元素,不用再储存。 Treeset:底层数据结构式一个二叉树,可以对set集合中的元素进行排序,这种结构,可以提高排序性能。9. map底层数据结构是什么?在 JDK 1.7 中,HashMap 底层使用数组+链表的形式进行存储,在 JDK 1.8 之后,增加了红黑树,即数组+链表+红黑树的形式存储元素。链表和红黑树之间的转换?• 链表长度大于 8 且数组长度大于 64,则将链表转换成红黑树;• 链表长度小于 6 时会将红黑树转换成链表。为何使用红黑树而非二叉树或平衡树?相比普通二叉树,红黑树是一棵平衡树,它的添加、删除和查找操作最差时间复杂度为 O(logn),避免了普通二叉树最差情况下 O(n) 的复杂度。平衡二叉树是比红黑树更加严格的平衡树,为了达到平衡需要进行更多的旋转次数,所以红黑树插入删除操作效率更高。10. list去重1 HashSet去重:将 List 集合转换成 HashSet 集合2 LinkedHashSet去重:既能去重又能保证集合的顺序3 迭代器去重:使用迭代器循环判断每一项数据,如果当前循环的数据,在集合中存在两份或两份以上,就将当前的元素删除掉,这样循环完之后,即可得到一个没有重复数据的集合4 Stream去重:使用jdk1.8新增的Stream流操作,过滤(Filter): filter() 方法接受一个 Predicate 函数作为参数,用于过滤 Stream 中的元素。只有满足 Predicate 条件的元素会被保留下来。5 contains判断去重:新建一个集合,然后循环原来的集合,每次循环判断原集合中的循环项,如果当前循环的数据,没有在新集合中存在就插入,已经存在了就舍弃,就得到了一个没有重复元素的集合了11. 计算机网络地址 四种 C类地址A类地址:1.0.0.1~126.255.255.254 私有:(10.0.0.1—10.255.255.254)B类地址:128.0.0.1~191.255.255.254 私有:(172.16.0.0—172.31.255.254)C类地址:192.0.0.1~223.255.255.254 私有:(192.168.0.1—192.168.255.255)D类地址:224.0.0.1~239.255.255.254 (D类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1110)E类地址:240.0.0.1~255.255.255.254 (同D类也不分网络和主机地址,它的第1个字节的前四位固定为1111。)一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。C类ip地址默认的子网掩码为255.255.255.0。12. linux内核相关东西? 我不会。13. 学习新技术的方式:自由发挥(我的是任务驱动法,直接上手项目,需要用到什么技术就现学什么技术)后面就反问HR一些问题。(实习期间做什么,能学到什么新技术)
点赞 14
评论 4
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 00:04
首都经济贸易大学 管理咨询
集体声明后京东美团回归正常,淘宝用免单预热立秋大战
8月2日,各平台集体表态抵制恶性竞争、承诺规范补贴后的第一个“超级星期6”,商家、骑手、消费者迎来一个相对平静的周末。本就被动应战的美团,取消了此前几个周六自动到账的“0元兑换券”,只有会员专享的随机免单券,大额神券也降为“28-11”“38-18”“55-25”,补贴力度明显减少。在这个疯狂的7月参与度并不高的京东外卖,最近的重点早已转至其自营的线下外卖门店——七鲜小厨,计划三年内投入百亿资金在全国铺开10000家“七鲜小厨”门店,建设新型餐饮供应链。反观淘宝闪购,在这个周末依然表现出一副不敢松懈的紧迫感。早在7月31日,淘宝就率先开启了“秋天的第一杯奶茶”活动,邀请知名女星金晨作为代言人,...
投递美团等公司10个岗位
点赞
评论
收藏
分享
08-01 18:35
湖南大学 C++
拼多多挂了😭
投递拼多多集团-PDD等公司10个岗位
点赞
评论
收藏
分享
07-08 20:59
中国电信_前端开发工程师
还有比我更惨的吗
这什么情况?
程序员小白条:
这比例牛逼,750:1
点赞
评论
收藏
分享
07-15 10:10
清华大学附属小学 Java
java后端,这个工位配置什么水平?
大牛们平时开发的硬件配置咋样呀!
码农索隆:
哥们怎么脖子和脸一样粗呢
点赞
评论
收藏
分享
08-02 14:47
南京邮电大学 人力资源专员/助理
【26届】OPPO双一流文科女秋招进度0802
⌚️投递时间:7.22官网投递🤏测评:8.1收到测评(性格测试)、在线笔试(牛客)、ai面试(牛客),同一天收到3个😶牛客笔试体验:在线笔试(牛客)有言语、数量、资料、推理四个部分,大概和北森题库难度差不多,整体比北森灵活。①言语的部分稍难,排序题因为是线上不能选中且不空格,看起来比较费劲,耽误了大量时间;②数量部分难度友好,同一类型题目有多次出现(如比例、找数列规律);③资料整体字数多,不要被吓到,还是比较简单的;④推理图推为主,有少量类比,难度友好。
投递OPPO等公司10个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
百度提前批,三面被推迟一周,喜提秋招第一凉
1.1W
2
...
虾皮秋招一面
3573
3
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
3467
4
...
觉得研发高人一等的这辈子有了
2768
5
...
百度提前批 三面
2032
6
...
最强本科✌
1759
7
...
也是逆天了
1451
8
...
被猿辅导挂了简历,但我想说...
1405
9
...
虾皮一面凉经
1368
10
...
上班一周,工资还没拿,先欠公司两千
1338
创作者周榜
更多
正在热议
更多
#
找工作如何保持松弛感?
#
92349次浏览
1121人参与
#
Offer比较,你最看重什么?
#
194400次浏览
1324人参与
#
中兴秋招
#
207645次浏览
2306人参与
#
秋招被确诊为……
#
167030次浏览
798人参与
#
参加过提前批的机械人,你们还参加秋招么
#
86746次浏览
1417人参与
#
投格力的你,拿到offer了吗?
#
87842次浏览
586人参与
#
虾皮求职进展汇总
#
251107次浏览
1890人参与
#
你最希望上岸的公司是?
#
136280次浏览
709人参与
#
计算机专业还有必要去大厂卷吗
#
38787次浏览
184人参与
#
柠檬微趣工作体验
#
6983次浏览
40人参与
#
26届的你,投了哪些公司?
#
52119次浏览
529人参与
#
地平线求职进展汇总
#
52773次浏览
371人参与
#
通信硬件岗投递时间线
#
19023次浏览
69人参与
#
简历上的经历如何包装
#
32957次浏览
874人参与
#
我对___祛魅了
#
54294次浏览
471人参与
#
你跟室友的关系怎么样?
#
8566次浏览
125人参与
#
你遇到最难的面试题目是_
#
17864次浏览
210人参与
#
一人推荐一个值得去的通信/硬件公司
#
191794次浏览
1888人参与
#
我想象的实习vs现实的实习
#
290581次浏览
2246人参与
#
工作中哪个瞬间让你想离职
#
66330次浏览
583人参与
#
你的秋招第一面感觉怎么样
#
77891次浏览
595人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务