现场面试题

这里写目录标题

  • 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;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue-组件中的data

一个组件的data选项必须是一个函数。保证每个组件实例&#xff0c;维护独立的一份数据对象。如下图&#xff1a; 组件一旦封装好了&#xff0c;可以使用多次&#xff0c;比如数字框组件使用了三次&#xff1a; 每次创建新的组件实例&#xff0c;都会重新执行一次data函数&#…

leetcode-字符串的排列-100

题目要求 思路 1.因为只涉及到字符&#xff0c;因此可以进行排序 2.创建临时字符串&#xff0c;当临时字符串temp的长度等于str的长度&#xff0c;作为判出条件。 3.创建一个标记的数组&#xff0c;每次在temp中插入一个字符&#xff0c;便在对应的数组下标设置为1&#xff0c…

【PDF技巧】PDF限制编辑密码忘记了,如何编辑文件?

PDF文件打开之后&#xff0c;发现编辑功能都是灰色的&#xff0c;无法使用&#xff0c;无法编辑PDF文件&#xff0c;遇到这种情况&#xff0c;是因为PDF文件设置了限制编辑导致的。一般情况下&#xff0c;我们只需要输入PDF密码&#xff0c;将限制编辑取消就可以正常编辑文件了…

【ARM Cortex-M3指南】8:中断行为

文章目录 八、中断行为8.1 中断/异常流程8.1.1 压栈8.1.2 取向量8.1.3 寄存器更新 8.2 异常退出8.3 嵌套中断8.4 末尾连锁中断8.5 延迟到达8.6 进一步了解异常返回值8.7 中断等待8.8 中断相关的错误8.8.1 压栈8.8.2 出栈8.8.3 取向量8.8.4 非法返回 八、中断行为 8.1 中断/异常…

GPU术语

可向量化循环 可向量化循环通常是指在编程中&#xff0c;能够被转换为向量操作或矩阵运算的循环结构。 在传统编程中&#xff0c;对于数组或向量中的每个元素执行相同的操作时&#xff0c;开发者可能会使用for循环逐一进行处理。然而&#xff0c;许多现代编程语言和库提供了向…

从哪些方面可以看出现货黄金价格走势?

现货黄金价格的走势受到多种因素的影响&#xff0c;我们可以从宏观经济环境、货币政策、供需关系、市场情绪和技术分析几个主要方面来观察和分析这一贵金属的价格动态。现货黄金作为全球投资市场中的避险资产&#xff0c;其价格波动往往能体现出复杂的经济和政治变化。 宏观经济…

(论文阅读-优化器)Orca: A Modular Query Optimizer Architecture for Big Data

目录 摘要 一、简介 二、背景知识 2.1 大规模并行处理 2.2 SQL on Hadoop 三、Orca架构 四、查询优化 4.1 优化工作流 4.2 并行查询优化 五、Metadata Exchange 六、可行性 6.1 Minimal Repros 6.2 优化器准确性测试 七、实验 八、相关工作 8.1 查询优化基础 8…

Python专题:二、Python小游戏,体验Python的魅力

希望先通过一个小的游戏让大家先对Python感兴趣&#xff0c;兴趣是最好的老师。 小游戏的运行结果&#xff1a; 1、在sublime编辑器里面写如下代码&#xff1a; import randomnum random.randint(1, 100) # 获得一个随机数 is_done False # 是否猜中的标记 count 0 # 玩…

视频号小店怎么做?品从哪里来?如何推广售卖?一文详解

大家好&#xff0c;我是电商笨笨熊 视频号小店作为一个刚推出不久的项目&#xff0c;可谓是站在风口&#xff0c;遍地红利&#xff0c;也正是我们进入的最佳时机。 但是面对一个新的项目&#xff0c;自是存在着多种疑问&#xff0c;尤其是对于一些从未踏足电商市场的新手玩家…

SpringBoot+Vue+Element-UI实现医患档案管理系统

目录 前言介绍 系统展示 管理员页面 患者管理 诊疗信息管理 病历信息管理 处方信息管理 患者页面 医生页面 部分核心代码 病历信息 上传文件 数据库配置 前言介绍 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技…

美易官方:英伟达业绩将难以撑起股价?

美股市场似乎总是对各大公司的业绩表现抱有极大的期待&#xff0c;就像一个永远填不饱的“巨胃”。在这样的市场环境下&#xff0c;即使是业绩骄人的公司也可能难以支撑其股价。英伟达&#xff0c;这家在图形处理单元&#xff08;GPU&#xff09;领域享有盛誉的公司&#xff0c…

翻译《The Old New Thing》 - Double-clicking radio buttons

Double-clicking radio buttons - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20050804-10/?p34713 Raymond Chen 在 2005年08月04日 让对话框单选按钮支持双击确定 提示 本文提供了一种让对话框窗口上的控件支持双击确定窗口返回的方法 …

HG-KN73J-S100 三菱伺服电机(750W型)

HG-KN73J-S100属于三菱MR-JE系列伺服系统&#xff0c;可以与伺服驱动器MR-JE-70A、MR-JE-70B、MR-JE-70C配套使用。HG-KN73J-S100完全替换HF-KN73J-S100。HG-KN73J-S100规格、HG-KN73J-S100参数。 HG-KN73J-S100参数说明&#xff1a;MR-JE低惯性/小容量、0.75Kw三菱伺服电机HG-…

【问题解决】关于linux环境下在使用onvif进行网络摄像头扫描发现时soap_send___wsdd__Probe返回-1

【问题背景】 在使用MTK+OPENWRT的方案进行开发时,有一个新需求是需要将检测网络摄像头信息,在使用onvif进行摄像头检测时,发现函数soap_send___wsdd__Probe总是返回-1,导致失败。 但是在编译服务器上使用gcc编译链而不使用交叉编译链时,运行正常,并且可以检测到网络摄像…

Leetcode—933. 最近的请求次数【简单】

2024每日刷题&#xff08;128&#xff09; Leetcode—933. 最近的请求次数 实现代码 class RecentCounter { public:RecentCounter() {}int ping(int t) {q.push(t);while(t - 3000 > q.front()) {q.pop();}return q.size();} private:queue<int> q; };/*** Your Re…

揭秘 IEEE/ACM Trans/CCF/SCI,谁才是科研界的王者?

会议之眼 快讯 在学术探索的浩瀚星海中&#xff0c;每一篇论文都像是一颗璀璨的星辰&#xff0c;而那些被顶级期刊或会议收录的论文&#xff0c;则无疑是最耀眼的几颗。 在众多评价标准中&#xff0c;IEEE/ACM Transactions、CCF推荐期刊和会议、SCI分区期刊&#xff0c;它们…

一、vue3专栏项目 -- 1、项目介绍以及准备工作

这是vue3TS的项目&#xff0c;是一个类似知乎的网站&#xff0c;可以展示专栏和文章的详情&#xff0c;可以登录、注册用户&#xff0c;可以创建、删除、修改文章&#xff0c;可以上传图片等等。 这个项目全部采用Composition API 编写&#xff0c;并且使用了TypeScript&#…

阴影渲染在AI去衣技术中的关键作用

引言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;深度学习在图像处理领域取得了突破性的进展。其中&#xff0c;AI去衣技术作为一种高度复杂的图像到图像的转换过程&#xff0c;不仅要求算法能够精确地识别并处理衣物纹理和结构&#xff0c;还要求生成的结果具有高度的…

进制乘法表(任意进制均可以)

#include <iostream> // 包含输入输出流库 #include <vector> // 包含向量库&#xff0c;未使用&#xff0c;可以删除 #include <string> // 包含字符串库using namespace std; // 使用标准命名空间// 将十进制数转换为P进制形式的字符串 string toBase(…

Mac数据恢复软件快速比较:适用于Macbook的10佳恢复软件

数据丢失导致无数个人和组织每天损失大量资金。更糟糕的是&#xff0c;某些文件具有货币价值和情感意义&#xff0c;使它们不可替代&#xff0c;并使数据恢复成为唯一可行的选择。最好的消息是Mac用户可以从各种数据恢复程序中进行选择。为了帮助您尽可能快速、轻松地恢复丢失的…