首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客967470958号
门头沟学院 Java
发布于辽宁
关注
已关注
取消关注
@Wagtail:
恒生电子面经(一面)
一面 1.11 20min1、自我介绍2、介绍简历项目3、SpringBoot框架相关问题Q:有没有用过自定义注解?A:没有……(说了一些常用注解,如@TableId,@RequestMapping,@param,@return,@Override等)【查阅补充】注解本质是一个继承了Annotation 的特殊接口,其具体实现类是Java 运行时生成的动态代理类。而我们通过反射获取注解时,返回的是Java 运行时生成的动态代理对象。java.lang.annotation 提供了四种元注解(元注解,专门注解其他的注解): @Documented:指定被标注的注解会包含在javadoc中。 @Retention: 指定注解的生命周期(源码、class文件、运行时),其参考值见类的定义:java.lang.annotation.RetentionPolicy@Target:指定注解使用的目标范围(类、方法、字段等),其参考值见类的定义:java.lang.annotation.ElementType@Inherited:指定子类可以继承父类的注解,只能是类上的注解,方法和字段的注解不能继承。即如果父类上的注解是@Inherited修饰的就能被子类继承。(JDK1.8新增了两种注解)自定义注解自定义注解类编写的一些规则:Annotation 类型定义为@interface, 所有的Annotation 会自动继承java.lang.Annotation这一接口,并且不能再去继承别的类或是接口。参数成员只能用public 或默认(default) 这两个访问权修饰。参数成员只能用基本类型byte、short、char、int、long、float、double、boolean八种基本数据类型和String、Enum、Class、annotations等数据类型,以及这一些类型的数组。要获取类方法和字段的注解信息,必须通过Java的反射技术来获取 Annotation 对象。 Q:MyBatis-plus如何实现分页功能?A:用组件和SQL范围查询语句来返回数据。【查找资料及补充】1)导入Mybatis-plus的启动器2)配置分页拦截器@Configuration // 注解类为配置类@MapperScan("org.example.mapper") // 扫描Mapper接口包路径public class MyBatisConfig { @Bean // 把方法返回值对象mybatisPlusInterceptor注入spring容器 public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); // 向Mybatis过滤器链中添加分页拦截器 interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return interceptor; }}4、分布式数据库相关问题Q:(举了之前西安做核酸时,健康码崩溃事件的例子)崩溃原因是什么?A:客户太多导致服务器崩溃Q:解决措施?A:采用分布式的服务器,降低每台服务器的压力【查找资料及补充】可以用负载均衡。负载均衡,是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,从而协同完成工作任务。负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。服务器崩溃的几种原因:第一:高并发流量或请求超过服务器承受力第二:磁盘空间不足第三:服务器超载第四:服务器遭到恶意攻击Q:分布式数据库如何保证数据的一致性?A:没答上来……【查找资料及补充】经典方案 - eBay 模式将需要分布式处理的任务通过消息日志的方式来异步执行。消息日志方案的核心是保证服务接口的幂等性。例:如果产生了一笔交易,需要在交易表增加记录,同时还要修改用户表的金额。这两个表属于不同的远程服务,所以就涉及到分布式事务一致性的问题。解决方法:将主要修改操作以及更新用户表的消息放在一个本地事务来完成。同时为了避免重复消费用户表消息带来的问题,达到多次重试的幂等性,增加一个更新记录表 updates_applied 来记录已经处理过的消息。在第一阶段,通过本地的数据库的事务保障,增加了 transaction 表及消息队列。在第二阶段,分别读出消息队列(但不删除),通过判断更新记录表 updates_applied 来检测相关记录是否被执行,未被执行的记录会修改 user 表,然后增加一条操作记录到 updates_applied,事务执行成功之后再删除队列。通过以上方法,达到了分布式系统的最终一致性。5、Java相关问题Q:线程池的概念A:说了线程池和JVM相关(联想到常量池)#(可能的)正确答案:线程池 用于管理线程/是一种多线程处理模式,可以(1)降低线程创建和销毁的开销,(2)提高响应速度,(3)方便管理Q:新建的线程放在哪里?A:没答上来……#(可能的)正确答案:线程私有空间:程序计数器,虚拟机栈,本地方法栈。线程共享空间: 堆、方法区。Q:线程池如果满了,会有什么后果?A:会阻塞,创建失败【查找资料及补充】线程的创建与销毁需要依赖操作系统,其代价是比较高昂的,频繁地创建与销毁线程对系统性能影响较大。出于线程管理的需要,线程池应运而生。线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理。当提交一个新任务,线程池的处理流程如下:判断线程池中核心线程数是否已达阈值corePoolSize,若否,则创建一个新核心线程执行任务若核心线程数已达阈值corePoolSize,判断阻塞队列workQueue是否已满,若未满,则将新任务添加进阻塞队列若满,再判断,线程池中线程数是否达到阈值maximumPoolSize,若否,则新建一个非核心线程执行任务。若达到阈值,则执行线程池饱和策略。当线程池的任务缓存队列已满 并且 线程池中的线程数目达到maximumPoolSize,如果还有任务到来,就会采取任务拒绝策略(线程池饱和策略)。拒绝策略分为以下几种:ThreadPoolExecutor.AbortPolicy:丢弃任务并抛出抛出RejectedExecutionException异常,默认策略ThreadPoolExecutor.DiscardPolicy:直接丢弃任务,不抛出异常ThreadPoolExecutor.DiscardOldestPolicy:抛弃下一个将要被执行的任务(队列最前面的任务),然后重新尝试执行任务(重复此过程)ThreadPoolExecutor.CallerRunsPolicy:由调用线程(主线程)处理该任务Q:用过哪些Java开发模式?A:代理模式,工厂模式 【查找资料及补充】设计模式分为三大类:一,创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。二,结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。三,行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。反问环节工作中常用的技术有哪些?微服务技术、SpringCloud,dubbo(阿里开源的分布式RPC框架)中间件、消息中间件,消息队列MQRedis缓存数据库【更新】复试挂了
点赞 19
评论 10
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-29 14:51
西安电子科技大学 Java
字节一面:你负责的业务系统,流量突然提升100倍QPS,你怎么办?
前言大家好,我是田螺。分享一道字节面试场景题:假设你负责的业务系统,流量突增,比如QPS暴增100倍,你要怎么处理?有些伙伴一听完题目,就不假思索回答,那就加机器呀、扩容什么的。当然,这个不能算错,但是你只得其中一小点的分数,肯定不及格的。作为一名优秀的后端开发程序员,我们应当从多个维度去思考这个问题,尽可能回答完整、正确。紧急响应阶段:快速止血冷静分析:为什么?暴增的流量合理嘛健壮设计,增强系统身体素质压力测试,测试系统抗压能力1.紧急响应阶段:快速止血如果我们负责的系统,突发流量洪峰来了,超过系统的承载能力,为了保护我们的系统,需要快速止血!1.1 限流我们可以采取限流方案。其实就是保护系...
字节跳动一面1279人在聊
点赞
评论
收藏
分享
07-31 11:10
江苏科技大学 Java
拼多多提前批测评
竟然收到了测评听说是双机位
投递拼多多集团-PDD等公司10个岗位
点赞
评论
收藏
分享
07-07 17:06
已编辑
深圳技术大学 golang
双非大二拿下腾讯实习offer
终于拿下腾讯offer,同时给大伙释放一个b站hc
Joefoo:
b站的录用通知好中二
点赞
评论
收藏
分享
07-30 08:34
嘉士伯_运营管理_HR
为什么建议看看外企
不知不觉已经十一月份了,国庆回来秋招就算真的进入中后期了,基本就是考选调,考体制内了,私企最后能投的一波就是十月上旬了,现在投着,前面大佬释放hc 大家还有一点机会1.不喜欢你工作太卷!(俺是卷心菜,虽卷但菜)外企非常严格地遵循无996,955工作制的同时实现WLB(work life balance),即即工作生活平衡,到点就可以走人~如果怕堵车或者有其他事情(比如不太舒服、有急事)都可以提前回去,部分外企每周还有一天或两天居家办公,嘿嘿~2.不喜欢你太给自己设限请大声说:我们都有无限可能不同于国企对应届生身份卡的比较严格,外企尤其往届生友好,毕业两年内还保有应届生身份的姐妹都可以去投!!对...
投递嘉士伯等公司10个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
都是 dirty work,为什么别人的简历上就能言之有物🤔
2.1W
2
...
虾皮秋招一面
4007
3
...
虾皮后端一面(已挂)
3807
4
...
百度提前批,三面被推迟一周,喜提秋招第一凉
3702
5
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
3097
6
...
干活最少的实习生因为长得漂亮转正了
3077
7
...
7.30滴滴提前批一面凉经
3073
8
...
百度提前批 三面
3005
9
...
QQ提前批一面凉经
2603
10
...
7.30百度提前批一面
2396
创作者周榜
更多
正在热议
更多
#
你遇到最难的面试题目是_
#
15092次浏览
193人参与
#
反问环节如何提问
#
95506次浏览
1951人参与
#
中兴秋招
#
203693次浏览
2280人参与
#
简历上的经历如何包装
#
24336次浏览
728人参与
#
如何看待offer收割机的行为
#
815465次浏览
6088人参与
#
你最讨厌面试问你什么?
#
25064次浏览
282人参与
#
秋招最大的收获是什么?
#
38616次浏览
323人参与
#
我的实习收获
#
90880次浏览
1038人参与
#
26届的你,投了哪些公司?
#
37045次浏览
428人参与
#
滴滴求职进展汇总
#
233332次浏览
2116人参与
#
作业帮求职进展汇总
#
57005次浏览
376人参与
#
初创公司值得加入吗?
#
27314次浏览
194人参与
#
我对___祛魅了
#
43427次浏览
410人参与
#
数字马力求职进展汇总
#
184450次浏览
1500人参与
#
你跟室友的关系怎么样?
#
6037次浏览
94人参与
#
什么样的背景能拿SSP?
#
31451次浏览
201人参与
#
工作中哪个瞬间让你想离职
#
60643次浏览
545人参与
#
和同事相处最忌讳的是__
#
21147次浏览
217人参与
#
去年你投递实习了吗?
#
22884次浏览
331人参与
#
如何快速融入团队?
#
14866次浏览
182人参与
#
机械人的金三校招总结
#
36216次浏览
461人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务