广东长荣科技有限公司-Java笔试题

news2024/11/19 8:30:58

Java工程师笔试题目(限30分钟完成)

一、请参考图片回答以下问题。

二、如何理解面向对象编程?

三、String s = new String("Hello");s = s + " world!";这两行代码执行后,内存是如何变化的?

四、Java中链表、栈、队列如何实现?

五、数据库连接池的工作机制是什么?

六、HttpSession的生命周期?

七、Spring优缺点?Spring、Springboot、Springcloud有和区别?

八、如何实现单点登录,并且保证登录安全?

笔试总结


Java工程师笔试题目(限30分钟完成)

一、请参考图片回答以下问题。

1. 如左图,回答相关数据库表设计和sql查询问题:

  1. 请为图中学生选择题设计数据库表结构,存储答题卡模板及标准答案;另外设计一个数据库表存储学生填涂的答案,答案存在单选或多选。
  2. 写出统计每个学生的选择题总分sql。
  3. 写出统计选择题得分最高的前10题和得分最低的前10题。

2. 仔细观察上图中的填空题,每个小题有若干个填入项(如19小题),每个填入项的(如19小题1、2空项)下横线长度存在长短不一。

答:......... 

请回答以下问题:

  1. 设计其在数据库中存储结构。
  2. 如何在网页中解析并显示?(先描述网页设计结构并用伪代码[html\css\js]描述解析过程。)
  3. 假设图片第三大题存在跨页的情况如何处理?

答:..........

二、如何理解面向对象编程?

面向对象编程相对于面向过程而言,关注的是对象可以做那些事情、可以完成那些事情;而面向过程关注的是这个事情的怎么做

面向对象有3个重要的特性——封装、继承、多态。

封装

内部的细节,也就是一个实体类的信息对外界是透明的(不可见)。对于其属性,我们使用private关键字,然后通过get、set方法向提供外界访问方式,这样外界只能按照我们定义的规则来操作该对象。

继承

就是对基类方法做一些改变和扩展,提高代码复用性

多态

父类的引用指定子类对象,提高代码复用性

三、String s = new String("Hello");s = s + " world!";这两行代码执行后,内存是如何变化的?

(1)String s = new String("Hello");

会创建两个对象,首先在常量池中开辟一个空间存字符串“"Hello"”。new String(“”)再会在堆中创建一个空间,它会指向常量池,最后在栈中申请一个变量s,s指向堆内存。

(2)s = s + " world!";

会在常量池中开辟一个空间存字符串" world!",会在堆内存中进行拼接操作,最后s指向这个新的字符串!

四、Java中链表、栈、队列如何实现?

Java中提供了集合容器,顶层的接口是Collection,链表、栈、队列分别是LinkedList(双链表)、Stack、Queue容器去实现的。具体的特性栈(先进后出)、队列(先进先出)

五、数据库连接池的工作机制是什么?

这个和线程池是很类似的。数据库连接池在初始化的时候,会创建一定数量(就是最小连接数

)的SQL连接,放在连接池中;数据库连接池有一个最大连接数和最小连接数。最小连接数不管是否在使用是一直都存在的,若超过了最大连接数,多余的连接请求会被放在等待队列中。

六、HttpSession的生命周期?

HttpSession是JavaWeb用来提供跟踪会话Session用的。它的生命周期从首次访问服务器开始,到用户关闭浏览器(时间片到)结束。

具体来说就是:

  1. 当浏览器首次被访问会像服务器发送会话请求,服务器会为其创建一个HttpSession对象,并分配一个ID
  2. 这个HttpSession会一直在服务器中,服务器会将id发给浏览器
  3. 浏览器根据ID给服务器发信息即可
  4. 一定时间内没有发,服务器会认为浏览器关闭了,服务器会销毁HttpSession对象。

七、Spring优缺点?Spring、Springboot、Springcloud有和区别?

Spring:轻量、IOC、AOP,帮助我们控制bean的生命周期,解耦(简单的说,时间不足)

Spring缺点:迭代了太多版本,不易扩展

八、如何实现单点登录,并且保证登录安全?

答:指的是用户只要登入一次就可以访问服务器中相互信任的模块(不用二次登入)!为用户提供便捷的操作。

实现大致有两种方案

单体项目中可以使用Cookie保存共享的Session,因为只有一个tomcat(时间不够)

分布式的项目中就不能使用上述,因为Tomcat是集群,在集群中Session是不能通信的。所以可以使用Token,使用Redis,key为token,value为用户信息,在搞一个认证模块,在里面完成认证!

笔试总结

不咋地,30min我觉得应该是完不成的,感觉像是HR刷KPI的,**公司 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/11169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASEMI代理力特二极管LSIC2SD120A05,肖特基LSIC2SD120A05

编辑-Z 力特碳化硅肖特基二极管LSIC2SD120A05参数: 型号:LSIC2SD120A05 重复峰值反向电压(VRRM):1200V 连续正向电流(IF):5A 非重复正向浪涌电流(IFSM)&…

Java#7(this关键字和构造方法)

目录 一.就近原则和this关键字 二.构造方法 1.构造方法的格式: 2.构造方法的特点: 有参构造和无参构造​编辑 三.标准的Javabean类 一.就近原则和this关键字 func里的age离System.out.println(age);比较近,所以输出的是10;这就是就近原则,但如果我想使用的是成员变量age前…

OceanBase 首席科学家阳振坤博士入选2022 年度“CCF王选奖”

11 月 14 日,2022 年度“CCF王选奖” 评选结果公布,蚂蚁集团副总裁、 OceanBase 首席科学家阳振坤博士 入选。 “CCF王选奖” 由中国计算机学会(简称 CCF)设立于 2005 年,以我国著名计算机科学家王选先生命名&#…

高精度定时器学习(通过官方手册学习)

高精度定时器学习功能描述一般说明HRTIM引脚和内部信号时钟Timer A..E timing units翻转事件功能描述 一般说明 HRTIM可以划分为几个模块: •主定时器 •计时单元(定时器A至定时器E) •输出级 •突发模式控制器 •所有定时器共享的外部事件…

Android核心技术—内核(Linux) 的IO栈

简述 Linux的IO路径可能是Linux系统中最纷繁复杂的模块了,而它又是如此的重要,直接决定了系统的性能。 接下来我们来看一张熟悉的老图: 由图可见,从系统调用的接口再往下,Linux下的IO栈致大致有几个层次&#xff1a…

【Spring】——3、自定义TypeFilter指定@ComponentScan注解的过滤规则

📫作者简介:zhz小白 公众号:小白的Java进阶之路 专业技能: 1、Java基础,并精通多线程的开发,熟悉JVM原理 2、熟悉Java基础,并精通多线程的开发,熟悉JVM原理,具备⼀定的线…

Java中的IO流

Java中的IO流 Java中的4大IO抽象类 InputStream/OutputStream 为字节输入输出流 Reader/Writer 为字符输入输出流 InputStream OutputStream Reader Writer Java中流的概念细分 二进制文件(图片、影音)用字节流 文本信息用字符流 IO流的体系 练手案例…

HTML入门

目录1 HTML快速入门1.1 HTML 的介绍1.1.1 HTML 的组成标签属性1.2 入门案例1.2.1 案例效果1.2.2 实现步骤1.3 总结2 HTML 基本语法2.1 HTML 的注释2.2 HTML 标签2.3 HTML 的属性2.4 HTML 的特殊字符3 HTML 案例 新闻文本3.1 案例效果3.2 案例分析3.2.1 div 样式布局3.2.2 文本标…

软件测试面试真题 | Selenium 的工作原理是什么?

搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核 Selenium 通常被我们用做测试web的自动化测试工具,其实 Selenium 不仅仅是个API,它是一组工具集合,它是由三大组件组成 WebDriver: 可以模拟真正的用户去操作浏览器页面&am…

机械转码日记【24】继承

目录 前言 1.继承的概念及定义 1.1继承的概念 1.2 继承定义 1.2.1定义格式 1.2.2继承关系和访问限定符 1.2.3继承基类成员访问方式的变化 2.基类和派生类对象赋值转换 3.继承中的作用域 4.派生类的默认成员函数 4.1构造函数 5.设计一个不能被继承的类 6.继承与…

瑞吉外卖(三) 分类管理

瑞吉外卖 分类管理瑞吉外卖 分类管理 需求分析自动填充 代码思想ThreadLocal 的 引入瑞吉外卖 分类管理 需求分析 对于当前的多个Model,存在了多个相同的字段 比如说:更新时间,创建时间, 更新人等 这些重复的业务可以通过统一的接…

已有项目eclipse开发配置步骤

已有项目eclipse开发配置步骤 前提:jdk8安装、tomcat8安装 1、eclipse打开已有项目 File->import->Existing Projects into Workspace 说明:我这里已经打开项目了 2、配置Properties 项目根目录右击->点击Properties Java Build Path -&…

【僵尸进程和文件系统调用】

目录虚拟空间物理空间僵尸进程僵尸进程产生僵尸进程的解决孤儿进程文件系统调用虚拟空间物理空间 内存与磁盘的运行速度1:20 x86 32位 4G–> 物理内存:寻址能力4G 4G供内核1G,用户态的3G, 虚拟空间4G,虚拟空间可以…

周阳老师JUC并发编程

1. 序章 1)JUC是什么? java.util.concurrent在并发编程中使用的工具包 对JUC知识的高阶内容讲解和实战增强 2)为什么学习并用好多线程极其重要? 硬件方面: 摩尔定律: 它是由英特尔创始人之一Gordon Moore(戈登摩尔…

Linux 下编译实现C/Fortran调用动态库

目录 FORTRAN语言 生成动态库Demo 查看动态库中的函数 Fortran语言 FORTRAN语言是Formula Translation的缩写,意为“公式翻译”。它是为科学、工程问题或企事业管理中的那些能够用数学公式表达的问题而设计的,其数值计算的功能较强。 FORTRAN语言是…

样式补充(精灵图、背景图片、阴影),项目前置认知、结构搭建

一、网页制作 根目录 图片文件夹&#xff1a;images 样式文件夹&#xff1a;CSS 首页&#xff1a;index.html <link rel"stylesheet" href"./CSS/index.css"> 二、项目样式补充 1. 精灵图 场景&#xff1a;项目中将多张小图片&#xff0c;合并…

基于粒子群算法训练常规自动编码器附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

docker安装mysql,tomcat,redis,nginx

docker安装常用应用安装mysql解决docker mysql5.7中文乱码的问题开启防火墙指定端口docker MySQL容器被删除后数据恢复docker 配置MySQL主从创建master创建slave配置主从测试安装tomcat安装redis安装nginx安装mysql docker安装之前&#xff0c;需要查看宿主机上是否已安装&…

基于matlab仿真多普勒效应及其影响(附源码)

目录 一、介绍 二、估计直升机的叶片速度 三、直升机回声模拟 四、叶片返回微多普勒分析 五、汽车雷达中的行人识别 六、行人微多普勒提取 七、总结 八、程序 本例介绍了由于目标旋转而对目标进行雷达回波时微多普勒效应的基本概念。可以使用微多普勒特征来帮助识别目标…

UE4 回合游戏项目 16- 控制玩家

在上一节&#xff08;UE4 回合游戏项目 15- 生成玩家、控制玩家&#xff09;基础上&#xff0c;继续完善控制玩家的步骤 步骤&#xff1a; 1.打开1lantu&#xff0c;将Alpha的值设为1&#xff0c;这样玩家控制的角色会随着鼠标的移动而产生一个偏头的效果 2.接下来给角色添加…