# HwxtTest **Repository Path**: mrliyongfu/hwxt-test ## Basic Information - **Project Name**: HwxtTest - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-11 - **Last Updated**: 2024-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README HwxtTest ======== #sql题目【mysql语法】 SQL01.请写出在MYSQL种创建表的语句,表名为test,包含两列分别是id和tname,其中id为主键,数字型,tname为字符型 默认值为张三。 答: create table test ( id int(11) not null primarykey; tname varchar(50) not null default '张三'; ) SQL02.在上题所建的表中新增一条id为1的记录,tname保持默认 答: insert into test value (1,default); SQL03.为上题中所建的表,新增一列年龄(age),数字型,请写出语句 答: alert table test ( age int(10) not null ; ) SQL04.为上题中所建表的tname 添加索引 答: create index tname_index (tname); SQL05.将表(S_USER)中所有张姓人员(USERNAME)的密码(PASSWD)改为字符串123 答: update S_USER set PASSWD = 123 where PASSWD in like '张%'; SQL06.查询出test表中年龄(age)最大的3个人 答: select * from test order by age desc limit 3; SQL07.删除test表中年龄(age) 小于10岁的人 答:delete from test where age < 10; SQL08.写出MySQL中常用的聚合函数,不少于4个,并简要说明函数作用 答:count()统计数量、sum()求和、max()最大值、min()最小值、avg()平均数 SQL09.查询test表中以id倒序排列后的前50条数据 答:select * from test order by id desc limit 50 SQL10.有3张表 产品表pros(产品编号,产品名称,价格,库存量) 销售商表saler(销售商编号,销售商名称,地区,负责人,电话) 销售表pro_sal 销售表(销售日期,产品编号,销售商编号,数量,销售额) 查询所有产品的产品编号和销售额,并将销售额增加10%后设置别名为“增长额" 答:select p.产品编号,ps.销售额,ps.销售额*1.1 增长额 from pros p join pro_sal ps on ps.产品编号 = p.产品编号 SQL11.表结构同上题,查找销售商名称的第二个字符是’建’并且只有三个字符的销售商编号和名称。 答:select 销售商编号,销售商名称 from saler where 销售商名称 in like '%建%'; SQL12.求产品编号为“0001”的产品的平均销售额、最高销售额、最低销售额 答:select avg(销售额),max(销售额),min(销售额) from pro_sal where 产品编号 = '0001'; SQL13.查询销售产品种类超过2类的销售商编号和种类数。并按购买种类数从大到小排序。 答:select 销售商编号,count(1) from pro_sal group by 产品编号,销售商编号 order by count(种类数) desc; SQL14.查询至少销售过1次“0001”号产品的销售商编号和购买次数,并按购买次数多少降序排列。 答:select 销售商编号,count(销售商编号) from pro_sal where 产品编号 = '0001' group by 销售商编号 order by count(销售商编号); SQL15.查询没被销售商销售过的产品信息。 答:select * from pros where 产品编号 not in (select 产品编号 from pro_sal ); #简答题目 1. 描述关系数据库中123范式。 第一范式:数据不可在分。 第二范式:表中数据有唯一依赖,主键。 第三范式:不对外表有依赖,没有外键。 2. 现有2个空的水壶,容积分别为6升和7升。问题是如何只用这2个水壶从水管里取得3升的水。 6升壶装满 倒入 7升壶 7升壶空1升 6升壶装满 倒入 7升壶 6升壶剩5升,7升壶满倒空 6升壶的5升水 倒入 7升壶 6壶空,7壶空2升 6升壶接满 倒入 7升壶2升 6升壶剩4升,7升壶满倒空 6升壶的4升水 倒入 7升壶 6升壶空,7升壶空3升 6升壶接满 倒入 7升壶 6升壶剩3升 所以,这样我们得到3升水。 3. 统计郑州截止日前有多少未就业的程序员?给出解决这个问题的思路,并进行解析。 这个问题我们可以统计根据区域统计多家公司的面试人数与录取人数,得到录取比例。之后可以计算总录取人数除以录取比例,这样我们可以得到郑州市未就业程序员估值。 4. 由于业务需要我们需要接收大量的web请求,且对请求响应有极高的要求,已有的tomcat已经无法胜任这个工作,我们该怎么办? 我们的服务架构可以采用微服务架构,来应对大量请求。对于一个服务无法处理请求,采用分布式部署,增加服务数量来处理过高的请求。 在架构上我们可以: 使用sentinel来做一个流量控制,保护我们服务器,保证可用性。 使用redis做一个数据缓存,保护数据库可用性提高请求响应。 在服务中使用RabbitMQ用来异步处理请求的后续。