秋招面试题
文章平均质量分 83
学长的面经经验,带领大家领取一个心仪的offer
叶秋学长
Stay hungry,stay foolish. 求知若饥,虚心若愚。CSDN内容合伙人,蓝桥云课签约作者,阿里云大咖问答开发与运维版板主,阿里云专家博主,华为云享专家博主,全栈领域新星创作者,新星计划第三季人工智能赛道TOP2;全栈领域创作者
展开
-
秋招面试题系列- - -Java 工程师(一)
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Linux等技术栈。原创 2022-08-15 11:32:39 · 112402 阅读 · 63 评论 -
多线程&并发篇(1024节日快乐)
再次渡入繁世,人潮汹涌,眼里茫然,信仰永恒,皆为华夏。原创 2022-10-24 00:39:52 · 3507 阅读 · 0 评论 -
00后必看:如何在互联网就业寒冬和疫情的双面夹击下找到心仪工作
除了那些无法改变的“硬件内容”,最重要的就是你是的Java开发经验,如果在你的简历中能够体现你曾经参与过得真实项目,应用的技术栈。当你学完相应的知识模块后,只要通过官网的升级测试,那么就可以加入到前途学业的开发项目组中,会有大量的项目供你选择,利用碎片时间来积累项目经验,每个月还会给你发放相应的项目薪酬。每当一个项目结束后,还会给参加项目的同学提供企业的项目认证证书,同时你在官网的学习过程也会被记录下来,生成属于你的专属电子简历,让你在日后的求职与考研面试中如虎添翼~来提高自己的职业竞争力。转载 2022-10-13 15:47:15 · 3460 阅读 · 41 评论 -
秋招面试题- - -JVM篇(二十二)
类加载器是一个用来加载类文件的类。Java 源代码通过 javac 编译器编译成类 文件。然后 JVM 来执行类文件中的字节码来执行程序。类加载器负责加载文件 系统、网络或其他来源的类文件。在 tomcat 中类的加载稍有不同,如下图:当 tomcat启动时,会创建几种类加载器: Bootstrap 引导类加载器 加载 JVM启动所需的类,以及标准扩展类(位于jre/lib/ext 下) System 系统类加载器 加载 tomcat 启动的类,比如。......原创 2022-10-08 00:20:42 · 10172 阅读 · 3 评论 -
阿里巴巴面试题- - -多线程&并发篇(三十七)
再次渡入繁世,人潮汹涌,眼里茫然,信仰永恒,皆为华夏。原创 2022-10-06 12:56:36 · 3693 阅读 · 1 评论 -
秋招面试- - -Java体系最新面试题(8)
2)类名.class 3)对象名.getClass() 4)基本类型的包装类,可以调用包装类的Type属性来获得该包装类的Class对象。配合 synchronized 使用,wait 方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。在java中,只要给定类的名字,就可以通过反射机制来获得类的所有信息。配合 synchronized 使用,该方法唤醒在该对象上等待队列中的某个线程(同步队列中的线程是给抢占 CPU 的线程,等待队列中的线程指的是等待唤醒的线程)。原创 2022-10-05 12:17:16 · 2161 阅读 · 1 评论 -
秋招面试题- - -Java体系最新面试题(9)
Java 集合框架中的一种存放相同类型的元素数据,是一种变长的集合类,基于定长数组实现,当加入数据达到一定程度后,会实行自动扩容,即扩大数组大小。优点:ArrayList 是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。当然,绝大数业务的场景下,使用 ArrayList 就够了,但需要注意避免 ArrayList 的扩容,以及非顺序的插入。如果 add(o),添加到的是数组的尾部,如果要增加的数据量很大,应该使用 ensureCapacity()原创 2022-10-04 15:25:50 · 216 阅读 · 0 评论 -
秋招面试题系列- - -Java 工程师(六)
目录MyBatis面试题26、Mapper编写有哪几种方式?第一种:接口实现类继承 SqlSessionDaoSupport:使用此种方法需要编写mapper接口,mapper接口实现类、mapper.xml文件。第二种:使用org.mybatis.spring.mapper.MapperFactoryBean:第三种:使用 mapper扫描器:27、简述 Mybatis的插件运行原理,以及如何编写一个插件。1、在 sqlMapConfig.xml中配置 mapper.xml的位置1、定义 mappe原创 2022-09-20 14:18:14 · 15310 阅读 · 76 评论 -
秋招面试题系列- - -Java工程师(十一)
程序分布式的部署在不同的机器上,将程序的配置信息放在 zk的 znode下,当有配置发生改变时,也就是 znode发生变化时,可以通过改变 zk中某个目录节点的内容,利用 watcher通知给各个客户端,从而更改配置。命名服务是指通过指定的名字来获取资源或者服务的地址,利用 zk创建一个全局的路径,这个路径就可以作为一个名字,指向集群中的集群,提供的服务的地址,或者一个远程的对象等等。并携带工作的进度数据,这样汇总的进程可以监控目录子节点的变化获得工作进度的实时的全局情况。原创 2022-10-16 10:28:37 · 2852 阅读 · 94 评论 -
秋招面试题系列- - -Java工程师(十)
一般是客户端执行 getData(“/节点 A”,true),如果节点 A发生了变更或删除,客户端会得到它的 watch事件,但是在之后节点 A又发生了变更,而客户端又没有设置 watch事件,就不再给客户端发送。为什么不是永久的,举个例子,如果服务端变动频繁,而监听的客户端很多情况下,每次变动都要通知到所有的客户端,给网络和服务器造成很大压力。ZK集群的机制是只要超过半数的节点正常,集群就能正常提供服务。在实际应用中,很多情况下,我们的客户端不需要知道服务端的每一次变动,我只要最新的数据即可。原创 2022-09-29 00:16:50 · 13801 阅读 · 53 评论 -
秋招面试题系列- - -Java工程师(九)
zookeeper采用了全局递增的事务 Id来标识,所有的 proposal(提议)都在被提出的时候加上了 zxid,zxid实际上是一个 64位的数字,高 32位是 epoch(时期;当新产生 proposal的时候,会依据数据库的两阶段过程,首先会向其他的 server发出事务执行请求,如果超过半数的机器都能执行并且能够成功,那么就会开始执行。在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行,其他的机器可以共享这个结果,这样可以大大减少重复计算,提高性能,于是就需要进行leader选举。原创 2022-09-25 01:11:02 · 3258 阅读 · 47 评论 -
秋招面试题系列- - -Java工程师(八)
接收到客户端请求,处理请求判断是否需要注册 Watcher,需要的话将数据节点的节点路径和 ServerCnxn(ServerCnxn代表一个客户端和服务端的连接,实现了 Watcher的 process接口,此时可以看成一个 Watcher对象)存储在。通过设置 Chroot,能够将一个客户端应用于 Zookeeper服务端的一颗子树相对应,在那些多个应用公用一个 Zookeeper进群的场景下,对实现不同应用间的相互隔离非常有帮助。是一种粗粒度的文件系统权限控制模式。...原创 2022-09-09 00:11:58 · 12460 阅读 · 66 评论 -
秋招面试题系列- - -Java工程师(七)
4、watcher event异步发送 watcher的通知事件从 server发送到 client是异步的,这就存在一个问题,不同的客户端和服务器之间通过 socket进行通信,由于网络延迟或其他因素导致客户端在不通的时刻监听到事件,由于 Zookeeper本身提供了 ordering guarantee,即客户端监听事件后,才会感知它所监视 znode发生了变化。这样的设计有效的减轻了服务端的压力,不然对于更新非常频繁的节点,服务端会不断的向客户端发送事件通知,无论对于网络还是服务端的压力都非常大。..原创 2022-09-23 09:18:29 · 5959 阅读 · 48 评论 -
秋招面试题系列- - -Java工程师(五)
接口绑定,就是在 MyBatis中任意定义接口,然后把接口里面的方法和 SQL语句绑定,我们直接调用接口方法就可以,这样比起原来了 SqlSession提供的方法我们可以有更加灵活的选择和设置。接口绑定有两种实现方式,一种是通过注解绑定,就是在接口的方法上面加上@Select、@Update等注解,里面包含 Sql语句来绑定;另外一种就是通过 xml里面写 SQL来绑定,在这种情况下,要指定 xml映射文件里面的 namespace必须为接口的全路径名。...原创 2022-09-07 09:01:25 · 17939 阅读 · 55 评论 -
秋招面试题系列- - -Java 工程师(二)
Mapper接口的工作原理是 JDK动态代理,Mybatis运行时会使用 JDK动态代理为 Mapper接口生成代理对象 proxy,代理对象会拦截接口方法,转而执行 MapperStatement所代表的 sql,然后将 sql执行结果返回。分页插件的基本原理是使用 Mybatis提供的插件接口,实现自定义插件,在插件的拦截方法内拦截待执行的 sql,然后重写 sql,根据 dialect方言,添加对应的物理分页语句和物理分页参数。接口的全限名,就是映射文件中的 namespace的值;.........原创 2022-08-16 10:16:56 · 23505 阅读 · 63 评论 -
秋招面试题系列- - -Java工程师(三)
有了列名与属性名的映射关系后,Mybatis通过反射创建对象,同时使用反射给对象的属性逐一赋值并返回,那些找不到映射关系的属性,是无法完成赋值的。Mybatis动态 sql可以在 Xml映射文件内,以标签的形式编写动态 sql,执行原理是根据表达式的值完成逻辑判断并动态拼接 sql的功能。对应的 xml,#{0}代表接收的是 dao层中的第一个参数,#{1}代表 dao层中第二参数,更多参数一致往后加即可。如果采用自增长策略,自动生成的键值在 insert方法执行完后可以被设置到传入的参数对象中。.....原创 2022-08-19 12:03:31 · 12477 阅读 · 38 评论 -
秋招面试题系列- - -Java工程师(四)
答:、、、、,加上动态 sql的 9个标签,其中为 sql片段标签,通过标签引入 sql片段,为不支持自增的主键生成策略标签。原因就是 namespace+id是作为 Map的 key使用的,如果没有 namespace,就剩下 id,那么,id重复会导致数据互相覆盖。不同的 Xml映射文件,如果配置了 namespace,那么 id可以重复;...原创 2022-09-02 10:34:09 · 13504 阅读 · 16 评论