首页 > 数据库 > 数据库开发技术 > 分享---秋季校招面试题及答案


超星学习通22年应届毕业生校招面试题总结:
String str= new String("abc"):
不管字符串常量池中存不存在 “abc” ,直接就创建直接新建一个字符串 “abc” (注意新建的字符串 “abc” 不是在字符串常量池中,而是在堆中),然后将其赋给str。这种效率低于使用字符串常量池的方式。
String str="abc":
首先查看字符串常量池中是否存在字符串 “abc” ,如果存在则直接将“abc”赋给str,如果不存在则先在字符串常量池中新建一个字符串 “abc” ,然后再将其赋给str。
第七层:应用层
功能:提供各种各样的应用层协议,为用户与网络之间提供一个打交道的接口。
常见协议:TELENT,DNS,HTTP,HTTPS,FTP,NFS
第六层:表示层
功能:提供应用层数据的公共表示,即统一数据格式,从而使得数据能在两个系统中传输。
常见协议:LPP
第五层:会话层
功能:负责应用程序之间建立、维持和中断会话,同时也提供对设备和结点之间的会话控制,协调系统和服务之间的交流,并通过提供单工、半双工和全双工3种不同的通信方式,使系统和服务之间有序地进行通信。
常见协议:LDAP
第四层:传输层
功能:主要功能负责数据传输时端到端的完整性,即在网络上建立发送主机和目的主机之间的逻辑连接,从而隐藏了上一层提供数据传输时任何网络独立信息。
常见协议:TCP,UDP,TLS
第三层:网络层
功能:负责数据从一个结点到另一个结点的传输,并根据地址(IP/IPX地址),为信息在网络中传输是选择最佳路径。
常见协议:IP,ICMP,ICMPv6
第二层:数据链路层
功能:主要功能是负责信息从一个结点到另一人结点的物理传输,检测在物理层上传输可能发生的错误并进行纠错,同时处理网络拓扑结构和流量控制等问题。
常见协议:VLAN,STP,IEEE 802.3,WIFI(IEEE 802.11),ATM,HDLC,PPP,ARP,RARP
第一层:物理层
功能:主要功能是直接在物理传输介质上发送和接收数据位,为数据链路层提供物理连接。
在主线程中通过join()方法指定顺序
通过倒数计时器CountDownLatch实现
通过创建单一化线程池newSingleThreadExecutor()实现
线程池在完成初始化之后,默认情况下,线程池中不会有任何线程,线程池会等有任务来的时候再去创建线程,核心线程创建出来后即使超出了线程保持的存活时间配置也不会销毁,核心线程只要创建了就永驻了,就等着新任务来进行处理。
maximumPoolSize :最大线程数
核心线程忙不过来且任务队列都满了的情况下,还有新任务继续提交进来的话就会新开辟线程,但是也不会任意的开辟线程数量,线程数(包含核心线程数)阈值是 maximumPoolSize ,达到阈值后还在提交任务的话就走拒绝策略。
keepAliveTime :非核心线程保持存活的时间
如果线程池当前的线程数多于 corePoolSize ,那么如果多余的线程空闲之间超出
keepAliveTime 的话,则这些线程就会被回收。
unit :非核心线程保持存活的时间单位
比如:TimeUnit.MILLISECONDS 、 TimeUnit.SECONDS
workQueue :任务存储队列
核心线程数满了后还在继续提交任务到线程池的话,就先进入 workQueue , workQueue 通常有以下几种选择:
LinkedBlockingQueue :无界队列,默认长度限制是int的最大值。也可以自定义大小。
ArrayBlockingQueue :有界队列,可以自定义大小。
SynchronousQueue :Executors.newCachedThreadPool(); 默认使用的队列。也不算是个队列,他不没有存储元素的能力。
一般我都采取 LinkedBlockingQueue ,因为他也可以设置大小,可以取代 ArrayBlockingQueue有界队列。
threadFactory :当线程池需要新的线程时,会用 threadFactory 来生成新的线程。
默认采用的是 DefaultThreadFactory ,主要负责创建线程。newThread() 方法。创建出来的线程都在同一个线程组里且优先级是一样的。
handler :拒绝策略。
任务超出线程池的配置限制后或执行shutdown后还在继续提交任务的话,会执行 handler 里的逻辑。默认采取的是 AbortPolicy 拒绝策略。也就是直接抛出RejectedExecutionException 异常。
1、方便解耦,简化开发,Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,大大地降低了组件之间的耦合性。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。
2、AOP 编程的支持,Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性,许多不容易用传统 OOP 实现的功能可以通过 AOP 轻松实现。
3、声明式事务的支持,可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的完成对事务的管理,而无需手动编程。提高开发效率和质量。
1.生成BeanDefinition
一张表只能有一个主键,但根据需要,我们可以设置多个字段同时为主键,这就叫做复合主键。
需要注意符合主键的唯一性
从我的经历来看,这是我的职业生涯中最适合我的一份工作。几年来,我一直在研究这个领域并且关注贵公司,一直希望能有这样的面试机会。我拥有必备的技能(简单讲述一个故事来加以说明),我非常适合这一职位,也确实能做好这份工作。
关于未来五年的规划分成三个阶段:
第一年:熟悉工作环境,同公司文化融为一体。熟悉行业背景,进而深入的了解本行业,不断发现自己需要学习改进的地方。提升自己,进而为自己提出切合实际的目标,同时注意自己的人际关系。
第二、三年:丰富自己的`专业知识,根据自己的工作表现适时调整自己的规划,成为本领域的专家。同时培养自己的人际关系
第四、五年:调整自己的规划,进入一个新的层次,向更高点看齐

如果大家想进一步了解简历和面试技能项目方面,可以咨询我。本人提供面试辅导,通过挖掘项目的亮点,讲授面试话术,大大提高面试成功的机会。
1.提供java面试方面的资料,包括笔试面试实战真题,录音,大厂面试题。
2.提供java面试辅导服务,经定制优化后的简历能大大提高竞争力,得到面试机会,拿到offer。
3.以一对一语音或者直播交流的方式提供面试辅导服务,包括但不限于如何介绍真实商业项目经验。
包括:如何在面试中证明spring boot能力,如何在项目中证明调优看日志和分布式组件等方面的亮点。项目服务器配置,项目重难点。在实际工作中如何同测试,前端以及产品经理对接沟通,需求会议如何进行。项目中承担什么样的角色,什么样的任务,项目日报,周报,以及项目进度如何对接等等!
同时,也会教授大家“面试话术”,告诉大家如何在面试当中,引导面试官问出你的亮点和技能。
4.甚至还能提供就业辅导和薪资方面的咨询。如果条件合适,还有大公司的内推机会。
下面是我的私人微信号,可以加我微信:itfdz666。如果你对文章有疑问或建议,抑或是交流技术,围观朋友圈,都可以添加我的微信。

原文作者:IT枫斗者;如有侵权,请联系管理员删除。