面经-北京泛微二面-Java开发

news2024/11/25 16:28:49

北京泛微二面-Java开发。以下内容为面试复盘,面试官问题无改动,回答已进行修正。

自我介绍

我是XXXX,来自XXX…

面试官提问:

1.像这些比赛的话,你是自己参加还是社团的人一起参加?

答:大多数是3个人一个队伍,基本都是我带头做项目打比赛,也有一些算法比赛是直接参加。和社团人一起参加一般是作品开发赛。

2.讲一下哪个项目影响最深?

答:目前的毕设项目,是一个综合教育平台,前端用了Uniapp,后端SpringCloud,数据库用了MySQL,MongoDB,数据库缓存用到了Redis。项目的主要功能是积分答题,以及排名等我此外的话还开发一些学习的小功能,比如互译,拍照搜题,课程表…这些是调用了一些api,还有比如我写了个爬虫,定时来更新我项目里的教育日报等等

3.数据库用过哪些?

答:数据库的话,像MySQL,sqlite,MongoDB什么的都用过。

4.MySQL的外联接和内联接?

内连接

image-20230704120816650

  • 内连接返回两个表之间满足连接条件的行。只有当两个表中的连接列具有相同的值时,才会返回结果。

外连接

  • 外连接返回两个表之间满足连接条件的行,同时还包括未匹配的行。

外连接分为左外连接、右外连接和全外连接。

左外链接:

左外连接使用LEFT OUTER JOIN表示,简写成LEFT JOIN;左外连接返回左表中所有的数据行;对于右表,如果没有匹配的值,返回空值。

image-20230704121034636

右外连接:

右外连接使用RIGHT OUTER JOIN表示,简写成RIGHT JOIN;右外连接返回右表中所有的数据行;对于左表,如果没有匹配的值,返回空值。

image-20230704121326668

全外链接:

全外连接使用FULL OUTER JOIN表示,简写成FULL JOIN。全外连接等效于左外连接加上右外连接。

image-20230704121608318

5.MySQL你开发时候用到过什么锁吗?

答:在进行数据库备份的使用有过全局锁,全局锁就是把整个表锁死,只能读,其他的修改操作只会阻塞。全局锁下面还有专门锁表的表锁。表锁是控制并发事务之间对表的访问。

6.mybatis的分页用的是什么?

实现分页查询可以使用两种方式:使用数据库语句(LIMIT)或使用插件(PageHelper )

需要关注两个参数:当前页码和每个分页的大小

7.get和post的区别

1.get请求长度有上限(url长度有上限),post没有上限。

取决于游览器对于url长度的限定。

2.get没有post安全(网上)

从安全角度来看几乎相当,get是把请求参数放到url里,post是放到body中。如果有密码信息,直观上会显得不安全,但是query和body的参数都是明文,http本身是不安全的,请求在任意一个节点被劫持内容都是透明的。

我个人认为get和post只是请求方式不同,并不能对安全起到任何作用。

安全处理:双端加密 (https)

8. 说说怎么处理hash 冲突?

答:处理hash 冲突有几个方法:

拉链法:每个哈希表节点都有⼀个next指针,多个哈希表节点可以⽤next指针构成⼀个单向链表,被分配到同⼀个索引上的多个节点可以

⽤这个单向链表进⾏存储.

开放定址法:⼀旦发⽣了冲突,就去寻找下⼀个空的散列地址,只要散列表⾜够⼤,空的散列地址总能找到,并将记录存⼊

再哈希:⼜叫双哈希法,有多个不同的Hash函数.当发⽣冲突时,使⽤第⼆个,第三个….等哈希函数计算地址,直到⽆冲突

9.深拷贝和浅拷贝的区别是什么**?**

  • 浅拷贝只复制对象的引用,而不复制引用指向的内容,因此多个对象共享相同的引用,修改一个对象会影响其他对象。
  • 深拷贝复制对象及其引用指向的内容,每个对象都拥有各自独立的内存空间,修改一个对象不会影响其他对象。
  • 浅拷贝适用于对不可变对象或可共享的对象进行复制,而深拷贝适用于需要独立拷贝的对象。
  • 实现深拷贝的方法有多种,例如通过实现Cloneable接口并重写clone()方法,使用序列化和反序列化,或者手动递归复制对象及其引用指向的内容。

10.try catch finallytry⾥有returnfinally还执⾏么?

无论如何,finally块中的代码总是会在try块结束后执行,除非发生了异常导致程序中断或虚拟机退出。finally块通常用于进行资源的清理和释放,以确保资源的正确关闭,例如关闭文件、释放数据库连接等。

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

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

相关文章

vue打包压缩

参考 https://www.cnblogs.com/lafitewu/p/8309305.html 注意:方法1和方法2不能同时用 取消打包的map config/index.js的productionSourceMap设置为false 抽取js 将部分常用又比较大的组件直接抽取为一个单独的js 打开webpack.base.conf.js,在module.exports.entry中添加想…

docker 搭建本地Chat GPT

要在CentOS7上安装Docker,您可以按照以下步骤进行操作: 1、更新系统包列表 sudo yum update2、安装Docker存储库的必要软件包 sudo yum install -y yum-utils device-mapper-persistent-data lvm23、添加Docker存储库 sudo yum-config-manager --add…

格式工厂怎么把两个视频合并在一起

免费的工具谁不喜欢呢,今天为大家介绍的是格式工厂这款多功能视频转换软件,然而今天主要为大家介绍的是格式工厂的视频合并功能。 是的,你没有听错,格式工厂除了转换之外,还可以视频合适、视频剪辑、视频分割、去水印…

Python3无法调用Sqlalchemy解决(mysqldb)

原因 在安装Sqlalchemy后运行程序报错 无法导入mysqldb,缺失模块 ImportError: No module named ‘MySQLdb’ 既然缺少 MySQLdb 这个模块,尝试按照正常的想法执行 pip install MySQLdbpip install mysql-python 应该能解决,但是却找不到…

MyBatis基础之自动映射、映射类型、文件注解双配置

文章目录 自动映射原理jdbcType同时启用配置文件和注解两种配置方式 自动映射原理 在 MyBatis 的配置文件(settings 元素部分)中,有一个 autoMappingBehavior 配置,其默认值为 PARTIAL ,表示 MyBatis 会自动映射&…

SpringCloud学习笔记-Nacos的命名空间的配置

目录 1.创建新的NameSpace2.给XXX-service配置NameSpace3.Nacos管理页面管理NameSpace4.Eureka和Nacos区别 Nacos提供了namespace来实现环境隔离功能。 nacos中可以有多个namespacenamespace下可以有group、service等不同namespace之间相互隔离,例如不同namespace的…

Spring6 - ioc

文章目录 IoC容器IoC容器在Spring的实现基于XML管理Bean获取bean**①方式一:根据id获取**②方式二:根据类型获取③方式三:根据id和类型④扩展知识 依赖注入之setter注入依赖注入之构造器注入特殊值处理为对象类型属性赋值为数组类型属性赋值为…

【Qt】字体更大的富文本

使用size属性只能生成7个等级的字号,超过7的都视作为7。 当需要更加夸张的字号时则需要使用style属性,除此之外利用该属性可以生成更加逆天丰富的样式,(style属性是CSS样式表。 稍微跑题一下:似乎有安全性的考量,不少…

监控系列(六)prometheus监控DMHS操作步骤

一、监控的操作逻辑 给操作系统安装expect命令expect脚本执行dmhs_console脚本执行 cpt / exec 命令用脚本进行过滤字符串过滤dm_export读取脚本与当前日期作比较,然后返回差值 二、安装步骤 1. linux中Expect工具的安装及使用方法 https://blog.csdn.net/wangta…

网络工程师知识点

1、OSI模型是每层的功能,用到的协议,使用到的设备,涉及到的数据传输单元 第七层应用层:提供应用程序间通信 (服务应用:http、ftp、dns) 第六层表示层:处理数据格式、数据加密等 第五层会话层&…

Redis 集群 Redis 事务 Redis 流水线 Redis 发布订阅 Redis Lua脚本操作

Redis 集群 & Redis 事务 & Redis 流水线 & Redis 发布订阅 Redis 集群linux安装redis主从配置查看当前实例主从信息 Redis Sentinelsentinel Redis Cluster Redis 事务Redis 流水线Redis 发布订阅Redis Lua脚本操作 Redis 集群 linux安装redis 下载安装包&#…

半监督学习介绍(为什么半监督学习是机器学习的未来)

文章目录 半监督学习的好处半监督学习原理半监督范式总结 半监督学习是一种利用标记和未标记数据的机器学习方法。半监督学习的目标是结合监督学习和无监督学习的优点;利用标记数据的准确性以及未标记数据的丰富性和较低成本。半监督学习可以被认为是 监督学习&…

[ubuntu]OpenFOAM国内源码满速下载地址

下列地址可直接使用git clone,例如,打开终端,在终端直接将下面的复制进去: git clone https://e.coding.net/dyfluid/ThirdParty-6/ThirdParty-6.git即可在本地创建ThirdParty-6文件夹。如果提示你没有git,那么输入下面…

OpenCV实现人脸关键点检测

目录 实现过程 1,代码解读 1.1 导入工具包 1.2导入所需图像,以及训练好的人脸预测模型 1.3 将 dlib 的关键点对象转换为 NumPy 数组,以便后续处理 1.4图像上可视化面部关键点 1.5# 读取输入数据,预处理 1.6进行人脸检测 1…

Django框架集成Celery异步-【2】:django集成celery,拿来即用,可用操作django的orm等功能

一、项目结构和依赖 study_celery | --user |-- models.py |--views.py |--urls.py |--celery_task |--__init__.py |--async_task.py |-- celery.py | --check_task.py | --config.py | --scheduler_task.py | --study_celery | --settings.py | --manage.py 依赖&#xff1a…

竞赛 深度学习+opencv+python实现昆虫识别 -图像识别 昆虫识别

文章目录 0 前言1 课题背景2 具体实现3 数据收集和处理3 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数:2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 4 MobileNetV2网络5 损失函数softmax 交叉熵5.1 softmax函数5.2 交叉熵损失函数 6 优化器SGD7 学…

HTTP Basic 认证

HTTP Basic 认证 难度等级:【初级】 由RFC7617定义的HTTP Basic认证是一种非常基础而简单的认证模式,因此叫他Basic认证。他本质上就是浏览器提供的一个接口,能够根据HTTP返回值,自动弹出一个登录框,让用户输入ID和密码…

利达卓越:以数字金融,追梦新未来

秉持初心、勇敢前行,便能如火炬照彻黑暗,在平凡的生活中不断创新、保持优势,一步步走向梦想的远方。在金融投资领域,利达卓越广招贤才,坚持创新的原则,以数字技术为金融赋能,与多方市场参与建立长期合作关系,为推动全球经济和社会发展贡献力量,以团队金融优势续写时代华美篇章,…

用Golang手写一个Container

本文作者系360奇舞团前端开发工程师 前言 Docker 作为一种流行的容器化技术,对于每一个程序开发者而言都具有重要性和必要性。因为容器化相关技术的普及大大简化了开发环境配置、更好的隔离性和更高的安全性,对于部署项目和团队协作而言也更加方便。本文…

【git的使用方法】——上传文件到gitlab仓库

先进入到你克隆下来的仓库的目录里面 比如:我的仓库名字为zhuox 然后将需要上传推送的文件拷贝到你的克隆仓库下 这里的话我需要拷贝的项目是t3 输入命令ls,就可以查看该文件目录下的所有文件信息 然后输入git add 文件名 我这边输入的是 &#x…