现场面试题

news2024/11/27 18:32:45

这里写目录标题

  • 1.sql
    • 1.1 只保留学生的最新成绩
    • 1.2 统计通话号码数
    • 1.3 更新地址
  • 2.基础题
    • 2.1 请求序列第N位的值: 0, 1, 1, 2, ,3, 5, 8, 13, 21, 34.....第N位的值
    • 2.2 请写一段java代码,输出存在重复字母的单词

1.sql

1.1 只保留学生的最新成绩

表student中记录学生的成绩信息, 要求只保留学生的最新一条成绩记录
在这里插入图片描述

传统方式

  1. 根据学生编号进行group by, 找到最新的一条记录(编号、时间)
  2. 根据编号和时间, 查询出记录的完整信息(id为2, 5, 6)
  3. 删除其余记录
delete from student where id not in (
	select id from student s1 inner join 
	(select `name`, max(time) as time from student group by `name`) s2
	on s1.name = s2.name and s1.time = s2.time
)

在这里插入图片描述

通过联表查询, 解决嵌套

  1. 通过与自身表进行关联, 让同一个人的记录互相进行对比,
  2. 设置条件s1.time > s2.time, 且使用left join, 保证时间早的记录被归档在右侧
  3. 即使只有一条记录, 也会被s1.id != s2.id过滤
  4. 时间最晚的那条记录, 永远不会出现在右侧. 右侧都是对比下来, 时间更早的数据, 我们将它们的id排重
  5. 删除这些id
delete from student where id in (
	select DISTINCT s2.id
	from student s1 left join student s2 
	on s1.`no` = s2.`no` and s1.id != s2.id
	where s1.time > s2.time
)

1.2 统计通话号码数

在这里插入图片描述

日期通话次数通话时长当天最早通话时间当天最晚通话时间平均通话时长通话号码数
  1. 首先通过函数将时间转换为日期(年月日), 并基于日期进行分组
  2. 在分组的基础上, 对组中的通话号码进行去重, 得到通话号码数
select 
	DATE(begin_time) as date,
	COUNT(1) as count,
	SUM(cost) as sum,
	MIN(begin_time) as min,
	MAX(begin_time) as max,
	AVG(cost) as avg,
	COUNT(DISTINCT number) as number
from tel_record
group by DATE(begin_time)

1.3 更新地址

在这里插入图片描述
根据no将报名表(bm)中的地址全部替换为学生表(student)中的地址, 写出对应的sql

  1. 将rm和student关联, 得到一个结果集, 这个结果集中包含所有符合条件的数据
  2. 当使用UPDATE语句与INNER JOIN一起操作时, 实际上是直接修改了目标表中符合连接条件的行
UPDATE bm
INNER JOIN student ON bm.no = student.no
SET bm.address = student.address;

2.基础题

2.1 请求序列第N位的值: 0, 1, 1, 2, ,3, 5, 8, 13, 21, 34…第N位的值

  1. 规律: n = (n-1) + (n-2)
  2. 递归的退出条件: n=0时值为0, n=1时值为1
public static void main(String[] args) {
    System.out.println(get(10));
}

private static int get(int n) {
    if (n <= 1) {
    	// 退出条件
        return n;
    } else {
    	// 递归
        return get(n - 1) + get(n - 2);
    }
}

使用迭代的方式:

  1. 因为n为0和1时, 没有办法找到规律, 所以直接返回对应的值
private static int get(int n) {
    if (n <= 1) {
        return n;
    }

    // 上一个
    int prev = 0;
    // 当前
    int curr = 1;

    for (int i = 2; i <= n; i++) {
        int temp = curr;
        curr = prev + curr;
        prev = temp;
    }

    return curr;
}

2.2 请写一段java代码,输出存在重复字母的单词

public static void main(String[] args) {
    String[] words = {"spring", "mybatis", "springboot", "vocation", "birthday", "username"};
    for (String word : words) {
        if (hasDuplicateLetters(word)) {
            System.out.println(word + " 存在重复字母");
        }
    }
}

private static boolean hasDuplicateLetters(String word) {
    HashSet<Character> set = new HashSet<>();
    for (char ch : word.toCharArray()) {
        if (!set.add(ch)) {
            return true; // 如果添加失败,说明该字母已经存在于集合中,存在重复字母
        }
    }
    return false;
}

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

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

相关文章

每日一题(PTAL2):列车调度--贪心+二分

选择去维护一个最小区间 代码1&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int n;cin>>n;int num;vector <int> v;int res0;for(int i0;i<n;i){cin>>num;int locv.size();int left0;int rightv.size()-1;while(left<…

C++变量的作用域与存储类型

一 变量的作用域和存储类型 1 变量的作用域(Scope) 指在源程序中定义变量的位置及其能被读写访问的范围分为局部变量(Local Variable)和全局变量(Global Variable) 1&#xff09;局部变量(Local Variable) 在语句块内定义的变量 形参也是局部变量 特点&#xff1a; 生存期是…

AIGC-3D数字人技术:高效助推各行业数字化水平升级

从“互联网”到“人工智能”&#xff0c;数字员工作为一种全新的交互形式&#xff0c;对企业有着重要的作用&#xff0c;企业、品牌通过数字人的AI语音交互、AI播报等核心功能&#xff0c;可以有效推动企业提升数字水平。 作为3D、AI虚拟数字人技术服务商及方案提供商&#xff…

为什么都喜欢用串口通讯?那为什么还用RS485,SPI和I2C?

1、为什么都喜欢用串口通讯&#xff1f; 之前在做单片机产品的时候&#xff0c;用的最多的就是串口通讯&#xff0c;凡是单片机的外设&#xff0c;优先选用带串口功能的&#xff0c;比如蓝牙模块&#xff0c;WIFI模块&#xff0c;4G模块&#xff0c;电表和显示屏等等。 为什么都…

科研学习|可视化——ggplot2版本的网络可视化

ggplot2是R语言中一个非常流行的数据可视化包&#xff0c;它也可以用于网络可视化。以下是三个基于ggplot2并专门用于网络可视化的R包&#xff1a; ggnet2: 这个包的使用方法与传统的plot函数相似&#xff0c;易于使用。更多信息可在其官方页面查看&#xff1a;ggnet2 geomnet…

KUKA机器人故障报警信息处理(一)

1、KSS00276 机器人参数不等于机器人类型 ①登录专家模式 ②示教器操作&#xff1a;【菜单】—【显示】—【变量】—【单个】 ③名称输入&#xff1a;$ROBTRAFO[] 新值&#xff1a;TRAFONAME[] ④点击【设定值】。 2、电池报警&#xff1a; ①“充电电池警告-发现老化的蓄电池…

【管理咨询宝藏93】大型制造集团数字化转型设计方案

【管理咨询宝藏93】大型制造集团数字化转型设计方案 【格式】PDF版本 【关键词】国际咨询公司、制造型企业转型、数字化转型 【核心观点】 - 235页大型制造型集团数字化转型方案设计&#xff01;细节非常详尽&#xff0c;图表丰富&#xff01; - 系统架构必须采用成熟、具有国…

Mybatis进阶4-权限管理

权限管理 1.权限 //相当于 职责 2.用户 //相当于 职员&#xff08;职员就职于一个职位&#xff09; 3.角色 //相当于 职位&#xff08;有多个职责&#xff09; 权限管理基础表&#xff1a;权限表&#xff0c;用户表&#xff0c;角色表 问题1&#xff1a;…

雷蛇笔记本数据丢失怎么恢复?提供详细指南

在数字化时代&#xff0c;笔记本电脑已成为我们日常生活和工作中不可或缺的一部分。然而&#xff0c;尽管技术不断进步&#xff0c;数据丢失的风险仍然存在。雷蛇&#xff08;Razer&#xff09;作为一家知名的电脑硬件制造商&#xff0c;其笔记本电脑也难免会遇到这样的问题。当…

Nextjs+Antd5.0打造面向AI的文档可视化引擎(最新更新)

hello&#xff0c;大家好&#xff0c;我是徐小夕。之前和大家分享了很多可视化&#xff0c;零代码和前端工程化的最佳实践&#xff0c;今天继续分享一下我开发的文档引擎 Nocode/WEP 的最新更新。 issue收集&#xff1a; https://github.com/MrXujiang/Nocode-Wep/issues 演示地…

基于51单片机ESP8266wifi控制机器人—送餐、快递

基于51单片机wifi控制机器人 &#xff08;程序&#xff0b;原理图&#xff0b;PCB&#xff0b;设计报告&#xff09; ​功能介绍 具体功能&#xff1a; 1.L298N驱动电机&#xff0c;机器人行走&#xff1b; 2.装备红外线感应检测到周围环境&#xff0c;进行行程判断&#xf…

STM32——基础篇

技术笔记&#xff01; 一、初识STM32 1.1 ARM内核系列 A 系列&#xff1a;Application缩写。高性能应用&#xff0c;比如&#xff1a;手机、电脑、电视等。 R 系列&#xff1a;Real-time缩写。实时性强&#xff0c;汽车电子、军工、无线基带等。 M 系列&#xff1a;Microcont…

抖音小店——服务体验,决定店铺生死的关键

哈喽~我是电商月月 新手做抖音小店&#xff0c;是不是觉得“选品”是整个抖店运营过程中最重要的操作 选品在前期确实非常重要&#xff0c;新店铺没有销量&#xff0c;没有评分本身就不好出单&#xff0c;你又不是厂家可以把价格压到最低做促销转化&#xff0c;想出单就只能把…

内容安全(IPS入侵检测)

入侵检测系统&#xff08; IDS &#xff09;---- 网络摄像头&#xff0c;侧重于风险管理&#xff0c;存在于滞后性&#xff0c;只能够进行风险发现&#xff0c;不能及时制止。而且早期的IDS误报率较高。优点则是可以多点进行部署&#xff0c;比较灵活&#xff0c;在网络中可以进…

分布式与一致性协议之ZAB协议(五)

ZAB协议 ZAB集群如何从故障中恢复 如果我们想把ZAB集群恢复到正常状态&#xff0c;那么新领导者就必须确立自己的领导关系&#xff0c;成为唯一有效的领导者&#xff0c;然后作为主节点"领导"各备份节点一起处理读写请求 如何确立领导关系 前面提到&#xff0c;选…

选择了软件测试,你后悔吗?

记得在求职的时候&#xff0c;面试官经常问我&#xff1a;“为什么要选择软件测试工作?”而我也会经常说一堆自己有的没的优势去应付。 工作这么久了&#xff0c;也不再浮躁&#xff0c;静下心来回忆当初选择软件测试工作的历程&#xff0c;也是对自己职业生涯的一次回顾。 下…

揭秘前端开发的“薪”机遇

众所周知&#xff0c;华为开发者大会2023&#xff0c;宣布不再兼容安卓&#xff0c;同时宣布了“鸿飞计划”&#xff0c;欲与iOS、安卓在市场三分天下&#xff0c;这对中国国产操作系统而言&#xff0c;具有划时代的意义。 最近有不少前端的开发者来咨询鸿蒙开发&#xff0c;今…

Partisia Blockchain 生态首个zk跨链DEX现已上线

在5月1日&#xff0c;由Partisia Blockchain与zkCross创建合作推出的Partisia zkCrossDEX在Partisia Blockchain生态正式上线。Partisia zkCrossDEX是Partisia Blockchain上重要的互操作枢纽&#xff0c;其融合了zkCross的zk技术跨链互操作方案&#xff0c;并利用Partisia Bloc…

Cesium学习——渲染、加载GeoJSON、调整位置

渲染概述 作者&#xff1a;当时明月在曾照彩云归 出处&#xff1a;https://www.cnblogs.com/jiujiubashiyi/p/17124717.html 1. 引言 Cesium是一款三维地球和地图可视化开源JavaScript库&#xff0c;使用WebGL来进行硬件加速图形&#xff0c;使用时不需要任何插件支持&#xf…

PDF文档如何签名?用Adobe信任的文档签名证书

为PDF文档电子签名的方式有多种多样&#xff0c;但并非所有方案都是可靠的。我们在市面看到的电子图章、电子印章等仅在文档中置入印章图片的方式&#xff0c;并不具有任何法律上的有效性&#xff0c;它只是显示印章的图形效果&#xff0c;随时可以被篡改、伪造。PDF文档如何签…