锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

笛卡尔乘积SQL

时间:2022-09-08 08:00:01 3l光点长距离高精度稳定传感器

1.笛卡尔乘积SQL
联合查询表格,表1有5个记录,表2有3个记录,5*3种选择。
避免方法:连接时添加 连接的key

2.冒泡排序
public static void bubbleSort(int[] arr){
for (int i = 0; i < arr.length; i ){
for (int j = 0; j < arr.length - 1 - i; j ){
if (arr[j] > arr[j 1]){
int tmp = arr[j];
arr[j] = arr[j 1];
arr[j 1] = tmp;
}
}
}
}

3.有7g,2g一个砝码,一个平衡,如何只用这些物品三次140g的盐分成50g,90g各一份?

没有砝码,将 140 g 盐分为天平 70g 70g
没有砝码,将 70 g盐分为天平 35g 35g
用天平拿一份 35g 盐分为 20g盐 2g砝码 = 15g盐 7g砝码
将 20g与 70g盐合在一起 90g,剩下的是 50g


4.计算机没有网络的可能原因

硬件: 网线、网口端、路由器、交换机、光猫、运营商

软件:网卡,驱动,IP冲突、DNS、网站本身的原因(无续租)、浏览器、浏览器代理、宽带账号、宽带配置等。


5.5L、7L水杯取得6L水
第一步把5L装满倒空7的水杯L杯中(也可以装2L);
第二步再把5L装满水杯倒7L杯中,倒了2L后满了,5L杯中还剩3L水;
第三步清空7L水杯,把5L剩下的3个水杯L水倒入7L杯中(也可以装4L);
第四步把5L装满水杯倒7L杯中,倒了4L后满了,5L杯中还剩1L水;
第五步清空7L水杯,把5L水杯剩下的1L水倒入7L水杯中;
第六步再把5L装满水杯倒7L杯中,这时7L水杯中就是6L的水了。


6.C和C 区别为
结构不同:C语言结构只有成员变量,没有成员方法
设计不同:C 更基于对象的程序设计
函数库不同:C 紧密的集体

7.http工作原理
客户端和服务端的连接模式
建立在tcp三次握手,四次挥手
一次性链接
无状态协议
http请求方法9种,常见的是post、get
端口80

8.
301 redirect: 301 代表永久性转移(Permanently Moved)
302 redirect: 302 代表临时转移(Temporarily Moved )
304 服务端已经实施GET,但文件没有变化
网站调整(如改变网页目录结构)
网页被移到新地址

9.求质数


// 定位userid(select、group )>> >> >> >>
select (
select client_id, count(client_id) in (select client_id, count(client_id)) group client_id
) left join


///是否分析了性能测试中遇到的问题的原因
//数据库的表类型(基本表、虚拟表、导出表)
//内部类和子类(结构不同,访问权不同)
//python元组和数组的区别(结构相同,元组不能更改)
//python实现string、int互转(string > int :int()、 str())
//使用的中间件


10.挑苹果

平均有100个苹果,分为10个篮子,其中每个篮子都是0.5公斤,其他九筐中的每个均为0.55公斤,
给你一个名字,让你区分哪个篮子里的苹果是0.5公斤?

10篮1-10,1篮1,2篮2...10号拿10个,
一起称得为X,(0.55*55-X)/0.05总数为0 .5公斤苹果所在的框数

11.各类型值与0比较

布尔变量不能直接与布尔变量和TRUE、FALSE或者比较1、0
应当将整型变量用 “==”或“!=与0直接比较
浮点变量不能使用 “==”或“!=与任何数字进行比较


12.造成TPS波动原因分析
1)代码程序原因:
定时器任务、容器、索引重置、业务规则(如排队、一秒只处理10个请求等)
硬盘定期写入:
2)日志写入,redis持久性,磁盘被占用,无法提供服务
3)服务分布式部署,负荷平衡

13.造成TPS曲线毛刺
1)网络波动
2)活
3)服务挂了
4)限制黑白名单


13.判断字符串是否正确IP格式
114.114.114.114

方法一;
public boolean make(string s){
int len = s.length();
int cntdot = 0;
for (int i = 0; i < len; i ){
if (s.charAt(i) - '0' == '.' || (s.charAt(i) - '0' < '0' && s.charAt(i) - '0' > '0')) return false;
if (s.charAt(i) - '0' == '.') cntdot ;
}
if (cntdot != 3) return false;
String[] list = s.split(".");
if (list.length != 4) return false;
for (string str : list){
if (str.charAt(0) - '0' == '0') return false;
int num = String.valueOf(str);
if (num > 255 || num < 0) return false;
}
return true;

}

方法二:
public boolean make(string s){
int len = s.length();
int cntdot = 0;
for (int i = 0; i < len; i ){
if (s.charAt(i) - '0' == '.' || (s.charAt(i) - '0' < '0' && s.charAt(i) - '0' > '0')) return false;
if (s.charAt(i) - '0' == '.') cntdot ;
}
if (cntdot != 3) return false;
StringBuffer sb = new StringBuffer;
for (int i = 0; i < len; i ){
(s.charAt(i) - '0' == '.' && s.charAt(i 1) - '0' == '.') return false;
if (s.charAt(i) - '0' == '.') continue;
while (s.charAt(i) - '0' >= '0' && s.charAt(i) - '0' <= '9'){
sb.append(s.charAt(i));             i++;
        }
        int num = Integer.valueOf(sb.tostring());
        if (num > 255 || num < 0) return false;
        else sb = new StringBuffer;
    }
    return false;
}


//MySql数据库主键及索引的区别
范围主键 < 索引 ,主键一定是唯一性索引,唯一性索引并不一定就是主键
一个表中可以有多个唯一性索引,但只能有一个主键
主键列不允许空值,而唯一性索引列允许空值

//GC中如何判断对象是否需要被回收?
可达性分析算法(ROOT搜索引用链)、引用计数算法

//抖音短视频切换出现闪退原因
缓存垃圾过多、运行程序过多、系统(app)版本不兼容、网络原因、杀毒拦截等

//redis持久化方式
redis是一个内存数据库,数据保存在内存中(容易丢失)持久化的机制,
分别是RDB(Redis DataBase)和AOF(Append Only File)
RDB数据以快照的形式保存在磁盘上

redis大key
1:单个简单的key存储的value很大
2:hash, set,zset,list 中存储过多的元素(以万为单位)
3:一个集群存储了上亿的key,Key 本身过多也带来了更多的空间占用


快排

public class Solution {

    public static void quickSort(int[] arr){
        quickSort(arr,0,arr.length-1);
        System.out.println(Arrays.toString(arr));
    }
    public static void quickSort(int[] arr,int left,int right){
        int middle;
        if(left < right){
            middle = partition(arr,left,right);
            quickSort(arr,left,middle-1);
            quickSort(arr,middle+1,right);
        }
    }

    public static int partition(int[] arr,int left,int right){
        int pivot = arr[left];
        while(left < right){
            while(left= pivot)
                right--;
            arr[left] = arr[right];
            while(left < right && arr[left]<= pivot)
                left++;
            arr[right] = arr[left];
        }
        arr[left] = pivot;
        return left;
    }
}


有没有你印象最深刻的BUG?
提交bug是怎么发现的?bug主要来源是什么?
最复杂的模块是啥?

pytest原理?

https://juejin.cn/post/6977171333922684958

elasticsearch效率为何比数据库高?
https://blog.csdn.net/weixin_42105169/article/details/112221100

ES 是基于Lucene(卢森)的全文检索引擎,它会对数据进行分词后保存索引,擅长管理大量的索引数据,相对于 MySQL 来说不擅长经常更新数据及关联查询
倒排索引(全文索引),查找每个词条(分词)出现的位置和频率,并按照词条顺序归纳为文件(就是索引),这样查找某个词时就很快定位到其出现的位置

kafka原理?
https://segmentfault.com/a/1190000018373144

类似组件:rabbitMQ、activeMQ、rocketMQ

在Kafka中的每一条消息都有一个topic。一般来说在我们应用中产生不同类型的数据,都可以设置不同的主题。
一个主题一般会有多个消息的订阅者,当生产者发布消息到某个主题时,订阅了这个主题的消费者都可以接收到生产者写入的新消息

消费模型有两种:推送模型(psuh)和拉取模型(pull)


pytest和unittest的区别
1.uninttest是python的官方库,兼容性稍好。 pytest在安装时可能会出现和python版本不匹配的问题

2.uninttest在编写用例时是以类的形式编写的,并且都要继承testCase, pytest当中支持函数和类两种编写形式,
并且pytest有conftest.py这个文件来支持全局的共享前置后置

3.在用例收集上,uninttest要利用testloader和testsuite来主动收集和加载用例,而pytest能够自动识别用例

4.在用例分类筛选上uninttest稍显麻烦,而python可以通过打标签轻松筛选用例

5.如果运行失败的话,uninttest官方没有提供失败重启的机制,而pytest自带失败重启的机制。

6.在运行结构方面,uninttest没有支持插件,而pytest中有700多个插件可以支持


JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个开源的单元测试框架。它属于白盒测试,只要将待测类继承 TestCase 类,就可以利用 JUnit 的一系列机制进行便捷的自动测试了。
 

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章