
面试
文章平均质量分 74
伍六七AI编程
伍六七AI编程
展开
-
《我要进大厂》设计模式之一:策略模式
*** 策略定义*/原创 2024-07-16 23:34:17 · 469 阅读 · 0 评论 -
非科班,培训出身,怎么进大厂?
非科班,培训出身,如何进大厂?本文给你描绘了一个真实的例子,在当前公司深耕,不断学习,提升自己的各方面能力,先转互联网行业的中小公司,然后以此为跳板,进入大厂!原创 2023-12-31 21:59:00 · 1254 阅读 · 0 评论 -
Redis 从原理到最佳实践
大家好,我是伍六七。一个专注于输出 AI+ 编程内容的在职大厂资深程序员,全国最大 AI 付费社群破局初创合伙人,关注我一起破除 35 诅咒。Redis 基本上是大部分技术公司都会使用的缓存框架,但是我发现很多程序员其实并不懂 Redis。今天,阿七带大家从理论和实践的角度来了解和使用 Redis。原创 2023-12-03 13:53:50 · 903 阅读 · 0 评论 -
大白话解释什么类加载机制
同时,它也避免了类的重复加载,因为在尝试自行加载类之前,每个类加载器都会先检查它的父类加载器是否已经加载了该类。通过这种方式,双亲委派模型为 Java 类的加载提供了一种层次化和有序的方法,保证了类加载机制的健壯性和安全性。扫描下面二维码,加我好友,一起交流技术。原创 2023-11-20 13:11:03 · 1061 阅读 · 0 评论 -
Java 面试必考,Vector、ArrayList、LinkedList有何区别?
大家好,我是伍六七。今天,阿七继续带大家来看一道经典面试题。对比 Vector、ArrayList、LinkedList 有何区别?你应该使用什么线程安全的集合框架?让我们开始正文。原创 2023-11-15 12:33:24 · 150 阅读 · 0 评论 -
10 分钟学会使用 Java 多线程
有些情况,我们需要做到资源隔离,比如上面使用 进行 IO 操作,我们需要自定义线程池,那我们怎么定义呢?原创 2023-11-14 13:10:24 · 343 阅读 · 0 评论 -
Java必考面试题,谈谈你对 Spring AOP 的理解
AOP 通过将横切关注点与核心业务逻辑分离,提高了代码的可维护性和可重用性。原创 2023-11-10 12:56:14 · 176 阅读 · 0 评论 -
六个问题带你入门 Java 编程
大家好,我是伍六七。今天我们来讲讲 Java 出现的历史原因,以及为什么 Java 现在还这么火?原创 2023-11-06 12:54:23 · 158 阅读 · 0 评论 -
后端除了增删改查还有什么?
刚工作 3、5 年的 Java 程序猿们,在日常工作中开始得心应手,基本上没有什么问题能难倒我们。这个时候,我们很容易陷入迷茫当中,不知道怎么继续提升自己?怎么才能进阶资深、专家、总监。我们今天从面试八股文和项目问题,来看这个问题的答案。原创 2023-11-03 16:14:48 · 558 阅读 · 0 评论 -
如何短时间突击 Java 通过面试?
如果内推了很多公司,还是拿不到 offer,那可能你的能力和你想去的公司之间有 gap,你需要重新评估你的能力,看看是否降低一下预期,先去小一点的公司培养一下能力,当做跳板,再去更好的公司。之后,就是继续熟悉和结合自己的工作,深入自己面试题目,让所有的题目都结合你自己的工作来回答,让面试官觉得你不是一个靠背诵的人,是自己真的碰到了并且认证去思考这些问题的人。增加面试机会:内推可以让面试者获得更多的面试机会,因为内推员工可以将面试者的简历推荐给多个部门和岗位,也可以将面试者的优势推荐给面试官。原创 2023-10-31 12:33:58 · 212 阅读 · 0 评论 -
Java 基础面试题,JVM 内存模型?
这样,我们可以根据Java代码的结构和特点,分析每个部分中存放的具体数据。需要注意的是,具体的内存分配和数据存储可能会受到 JVM 的具体实现和优化策略的影响。我们在 Java 岗位的面试题中,大概率会碰到这样一个面试题:请你解释你对 JVM 内存模型的理解。原创 2023-10-27 14:09:36 · 206 阅读 · 0 评论 -
面试58同城!面试官问我redis 雪崩、穿透、击穿怎么处理?
结语:通过理解和应对 Redis 缓存雪崩、穿透和击穿的概念、原因和解决方案,Java 工程师们可以更好地应对面试中与缓存相关的问题,提升自己的面试竞争力。缓存雪崩指的是在某个时间点,缓存中的大量数据同时失效,导致大量请求直接落到数据库上,造成数据库压力过大,甚至引发系统崩溃。缓存击穿指的是某个热点数据的缓存过期,导致大量请求同时访问数据库,造成数据库压力过大。缓存穿透指的是恶意请求直接绕过缓存,直接请求数据库,导致数据库压力过大。同时,合理使用缓存技术和策略对于系统的性能和稳定性也至关重要。原创 2023-10-17 12:48:28 · 182 阅读 · 0 评论 -
G1垃圾回收器教程
1 G1 垃圾回收器garbage-first (G1)收集器是一个服务器风格的垃圾收集器,针对具有大内存的多处理器机器。它在同时实现高吞吐量的情况下,以很高的概率满足垃圾收集(GC)暂停(STW:stop the word)时间目标。G1垃圾收集器在Oracle JDK 7 update 4和更高版本中得到了完全支持。G1收集器专为以下应用程序设计:可以向 CMS 垃圾回收器一样和用户线程并行。不会有长时间的 GC 停顿,且空闲空间更紧凑。需要更多可预测的GC暂停时间。不希望牺牲大量吞吐量不需要一个翻译 2022-11-01 17:25:57 · 559 阅读 · 0 评论 -
redis缓存设计以及常见面试题分析
redis 缓存的三种模式。Cache-Aside、Read/Write-Through、Write-back原创 2022-08-16 11:27:25 · 417 阅读 · 1 评论 -
终于进大厂了,滴滴社招三面(已拿offer)
一面,项目、基础技术、算法都有项目部分1、业务流程2、具体负责的部分3、工作职责4、碰到的问题,以及怎么解决的,每个问题展开说技术部分1、JVM内存模型,具体细节,结合实际说每个空间的作用2、哪些垃圾回收算法,各个垃圾回收器分别使用什么算法3、cms垃圾回收器具体回收过程4、cms和g1的区别5、讲讲你做过的sql优化经历6、HashMap原理7、rocketmq有哪些组件,rocketmq事务消息8、其他问题,没有特别难的算法部分,一道算法题1、在source字符串中,找.原创 2021-11-13 12:09:50 · 9509 阅读 · 3 评论 -
新鲜出炉的百度三面挂经
1、ThreadLocal 原理,哪些地方用到了存储session、sqlsession;2、session 怎么存的3、jvm内存泄漏问题,实际场景4、同步方法、关键字,实际场景5、string、strinbbuilder、stringbuffer6、lock 的实际场景7、aop、ioc的理解8、spring上下文原理,是线程安全的嘛?实际使用的场景不是线程安全的。根据作用域,对应不同的场景。默认 spring 容器中的 bean 是单例的。当单例中存在竞态条件,即有线程安全问题。9原创 2021-11-09 13:05:54 · 1132 阅读 · 0 评论 -
【CICD】gitlab+jenkins+sonarqube实现自动构建、代码自动检测
1 前提条件1、需要安装gitlab、jenkins、sonarqube;2、gitlab需要能访问jenkins地址,网络是通的,因为需要通过gitlab推送事件到jenkins机器;3、gitlab项目,需要有主程序员及以上权限。2 整体思路1、当有代码push到代码仓库的时候,gitlab是知道的,gitlab检测到有代码push的时候,执行一个钩子(gitlab上叫hook),可以理解为触发一个推送时间,推送到jenkins;2、jenkins 检测到这个事件之后,自动构建(不用手动了)原创 2021-08-23 12:28:31 · 1111 阅读 · 2 评论 -
MySQL新技能,MySQL之Json类型
1 Json 类型简介MySQL 5.7 之后提供了Json类型,是MySQL 结合结构化存储和非结构化存储设计出来的一个类型。在某些场景下,Json 类型简直是福音。场景1: 用户画像,描述用户的标签等类似场景,比如互联网医院类系统的患者健康档案,有很多信息不是必填项,如:身高、体重、三围等等信息,可以使用 Json 存储。场景2: 游戏类场景;场景3: 存储图片等附属信息,比如图片的分辨率,图片标题等。2 让我们看看Json怎么用的创建表,并插入数据CREATE TABLE UserLo原创 2021-07-13 17:22:59 · 3148 阅读 · 0 评论 -
设计模式之一—策略模式
1 概念工厂模式是解耦对象的创建和使用,观察者模式是解耦观察者和被观察者。策略模式跟两者类似,也能起到解耦的作用,不过,它解耦的是策略的定义、创建、使用这三部分2 实现这里实现一个计算订单价格的策略,商品可能会做各种活动,每种活动折扣都不一样,这里通过策略模式实现,代码简洁,以后增加活动的时候不需要修改原有代码。2.1 策略接口定义/** * 策略定义 * * @Author: prepared * @Date: 2021/6/21 15:04 */public interface D原创 2021-06-25 22:36:35 · 379 阅读 · 0 评论 -
mysql索引下推(ICP)例子
1、索引下推是mysql5.6(包括)之后的优化策略。2、是否设置了索引下推,explain执行计划查看到了 rows 行数应该是一致的。因为索引下推只是减少了回表的次数。打开索引下推。set optimizer_switch='index_condition_pushdown=on';关闭索引下推set optimizer_switch='index_condition_pushdown=off';查看索引下推的设置状态show VARIABLES like '%optimizer_s原创 2020-12-21 17:59:55 · 716 阅读 · 1 评论 -
JAVA面试之九—@Autowired和@Resource注解有什么区别?
面试可能会问到这样一个问题:@Autowired和@Resource两个注解有什么区别?1、@Autowired 默认以类型(类)进行区分,@Resource 默认以name进行区分。工作中的例子:有两个比较相似的mapper,一个FallLogMapper,另外一个LogMapper,为了简便,把第一个变量命名为logMapper(这里只是举例,正常可能类名字表长,所以会简写),第二个,变量名字也是logMapper。这样的话,如果按照名字来看,两个Mapper对应的变量名字是一样的了。如果使用 @Re原创 2020-11-26 22:56:26 · 590 阅读 · 1 评论 -
JAVA面试之八—常见面试题
JVM1、JVM内存模型;2、讲一下GC的过程?3、怎么判断对象是否是垃圾?4、讲一下你常用的垃圾回收器;5、G1垃圾回收器和CMS有什么区别?有什么优点?6、你们用的什么垃圾回收器?调整过哪些参数?7、CMS垃圾回收器原理,什么时候触发垃圾回收?8、JMM java内存模型了解嘛?9、年轻代垃圾回收的步骤?10、什么情况下年轻代对象会上升到老年代?多线程1、你们的线程池的参数都是什么?为什么这么设计?2、线程池的工作原理和7个参数;3、synchronized在JDK1.6中升原创 2020-10-02 09:43:53 · 347 阅读 · 0 评论 -
JAVA面试题之七—线程池的工作原理和7个参数
线程池的工作原理和7个参数(京东物流、美团充电宝一面、中信银行一面、美团外卖一面、58用户平台一面、轻松集团)7个参数corePoolSize:线程池核心线程数量maximumPoolSize:线程池最大线程数量keepAliverTime:当活跃线程数大于核心线程数时,空闲的多余线程最大存活时间unit:存活时间的单位workQueue:存放任务的队列threadFactory:创建线程的工厂handler:超出线程范围和队列容量的任务的处理程序每个值为什么这么设置?工作原理例子原创 2020-10-02 09:01:36 · 807 阅读 · 0 评论 -
JAVA面试题之六—讲一下GC的过程
讲一下GC的过程(中信银行一面、美团外卖一面、58用户平台一面、轻松集团)年轻代垃圾回收,引起老年代内存不足,最终引起FullGC。JDK1.8之后,Java官方的HotSpot JVM去掉了永久代,取而代之的是元数据区Metaspace。Metaspace使用的是本地内存,而不是堆内存,也就是说在默认情况下Metaspace的大小只与本地内存的大小有关。因此JDK1.8之后,就见不到java.lang.OutOfMemoryError: PermGen space这种由于永久代空间不足导致的内存溢出的原创 2020-10-02 08:42:41 · 1009 阅读 · 0 评论 -
JAVA面试题之五——消息队列对比,RabbitMQ还是Kafka?
MQ 的应用场景:第一个应用就是商品秒杀以及产品抢购等使用场景使用 MQ 实现消息通讯,实现实时通讯功能使用 MQ 实现日志系统常用的 MQ 中间件有 RabbitMQ、Kafka 和 Redis 等,其中 Redis 属于轻量级的消息队列,而 RabbitMQ、Kafka 属于比较成熟且比较稳定和高效的 MQ 中间件MQ 的特点:先进先出发布、订阅工作模式持久化分布式消息确认引入 MQ 系统会带来的问题增加了系统的运行风险。如果 MQ 系统挂掉的话可能会导致整个业务系统瘫原创 2020-08-10 22:48:40 · 919 阅读 · 0 评论 -
JAVA面试题之四——Redis 中的缓存清空策略 LRU 说一下?
LRU 是一种缓存淘汰策略。常见的策略有三种:先进先出策略 FIFO(First In,First Out)、最少使用策略 LFU(Least Frequently Used)、最近最少使用策略 LRU(Least Recently Used)方案一:使用链表实现 LRU思路是这样的:维护一个有序单链表,越靠近链表尾部的结点是越早之前访问的。当有一个新的数据被访问时,我们从链表头开始顺序遍历链表。如果此数据之前已经被缓存在链表中了,我们遍历得到这个数据对应的结点,并将其从原来的位置删除,然后再插原创 2020-07-30 06:44:45 · 467 阅读 · 0 评论 -
JAVA面试题之三—Mysql索引了解嘛?怎么优化查询效率?
Hash只支持单条数据的查询。很多时候我们需要更复杂的操作。BTree[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MKL6rIB9-1595459675581)(8B3F0F034EF54F4D81405D839B2958FB)]特点不再是二叉搜索,而是N叉搜索,树的高度会降低,查询快叶子节点,非叶子节点,都可以存储数据,且可以存储多个数据通过中序遍历,可以访问树上所有节点设计逻辑内存读写快,磁盘读写慢,而且慢很多磁盘预读:磁盘读写并不是按需读取,原创 2020-07-23 07:15:52 · 662 阅读 · 1 评论 -
JAVA面试题之一—如何实现锁?如何实现分布式锁?
为什么需要分布式锁?答:悲观锁、乐观锁、可重入锁、共享锁和独占锁等内容,它们都属于单机锁也就是程序级别的锁,如果在分布式环境下使用就会出现锁不生效的问题,因此我们需要使用分布式锁来解决这个问题。分布式锁是控制分布式系统之间同步访问共享资源的一种方式。是为了解决分布式系统中,不同的系统或是同一个系统的不同主机共享同一个资源的问题,它通常会采用互斥来保证程序的一致性,这就是分布式锁的用途以及执行原理。分布式锁的常见实现方式有四种:基于 MySQL 的悲观锁来实现分布式锁,这种方式使用的最少,因为这种实原创 2020-07-22 09:03:02 · 589 阅读 · 0 评论 -
JAVA面试题之二—如何实现接口幂等性?什么是幂等性?
幂等性说的是:如何防止接口的重复无效请求。对于一个接口而言,无论调用了多少次,最终得到的结果都是一样的。四种解决方法:前端拦截。不安全,可能被专业人士修改,跳过该过程。使用数据库实现幂等性使用 JVM 锁实现幂等性。缺点:只能引用于单机环境使用分布式锁实现幂等性。通常使用redis或者zookeeper实现分布式锁。保证分布式锁的key是业务id的唯一标识。1 悲观锁实现begin; # 1.开始事务select * from table_name where id='xxx' fo原创 2020-07-22 19:32:08 · 1539 阅读 · 0 评论