上海某公司医疗实施工程师笔试题

一、Oracle数据库基础

create table t_ts --科室表
(
	Ksdm varchar(4) not null,--科室代码
	Ksmc varchar(5) not null,--科室名称
	kslx varchar(1)--科室类型--1 内科 2全科 3外科'
) 
go
select * from t_ts
insert into t_ts values('002','心血管内科','1')
commit;
create table t_mjzcf --处方表
(
	cfsb varchar(18) not null,--处方识别
	cfhm varchar(10) not null,--处方号
	ksdm varchar(4) not null,--科室代码
	brxm varchar(40),--病人姓名
	brxb varchar(1),--病人性别 1 男 2 女
	ksrq date,--开方日期'
)
go
select * from t_mjzcf
insert into t_mjzcf(cfsb,cfhm,ksdm,brxm,brxb,ksrq) values ('CFSB000001','CFH00001','002','张三','1',sysdate);
insert into t_mjzcf(cfsb,cfhm,ksdm,brxm,brxb,ksrq) values ('CFSB000002','CFH00002','003','王五','2',to_date('2016-01-08 8:55:24','yyyy-mm-dd hh24:mi:ss'));
insert into t_mjzcf(cfsb,cfhm,ksdm,brxm,brxb,ksrq) values ('CFSB000003','CFH00003','004','马新','1',to_date('2016-01-08 13:55:24','yyyy-mm-dd hh24:mi:ss'));
commit;
create table t_mjzmx --处方明细表
(
	mxid varchar(18) not null,--明细ID
	cfsb varchar(18) not null,--处方识别
	ypmc varchar(50),--药品名称
	ypsl number(10,2),--药品数量
	ypdj number(12,4)--药品单价
)
go
select a.rowid,a.* from t_mjzmx a
insert into t_mjzmx(mxid,cfsb,ypmc,ypsl,ypdj) values ('CFMX0001','CFSB000001','连花清瘟',10,101.55);
insert into t_mjzmx(mxid,cfsb,ypmc,ypsl,ypdj) values ('CFMX0001','CFSB000001','连花清瘟',10,101.55);
insert into t_mjzmx(mxid,cfsb,ypmc,ypsl,ypdj) values ('CFMX0001','CFSB000001','连花清瘟',10,101.55);
commit
  1. 给科室表增加一字段yxbz(有效标志),为数字类型,长度1,默认值为0



  2. 查询开方日期是2023年1月1日至2023年1月31日间的处方信息(to_date 函数)



  3. 查询处方中,根据病人性别对应的处方数量(case 函数)



  4. 根据科室信息,查询出每个科室名称对应的处方数量,按照降序排列



  5. 查询病人张三的处方中药品名称、数量、单价



  6. 查询处方合计金额大于100的病人信息



  7. 查询各科室的用药数量排名(前10名)



二、作为一个实施人员,用户如果提出我们软件功能所不具备的需求,你该如何处理?简单列出你可能采取的几种措施





三、简答题

  1. 列举至少3种远程控制windows服务器的方法

  2. 查看本机所有配置的IP地址用什么命令?

  3. 测试特定计算机和本机是否连通的命令是什么?

  4. 测试特定计算机的某端口和本机是否连通的命令是什么?

  5. 测试网络丢包率和网络时延的方法是什么?

  6. 数据库至少包含两文件,分别是:

  7. 备份数据库有几种类型请列举

  8. 写出Linux系统中获取pid为888的进程所监听的tcp端口的命令

三、答案

1.Oracle数据库基础

  1. 给科室表增加一字段yxbz(有效标志),为数字类型,长度1,默认值为0

    ALTER TABLE t_ts ADD yxbz number(1,0) DEFAULT 0;
    
  2. 查询开方日期是2023年1月1日至2023年1月31日间的处方信息(to_date 函数)

    SELECT * FROM t_mjzcf WHERE ksrq BETWEEN to_date('2023-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2023-01-31 00:00:00','yyyy-mm-dd hh24:mi:ss');
    
  3. 查询处方中,根据病人性别对应的处方数量(case 函数)

    SELECT a.cfhm,
    	COUNT(CASE a.brxb WHEN brxb = '1' THEN '男'ELSE '0' END) 男性,
    	COUNT(CASE a.brxb WHEN brxb = '2' THEN '女'ELSE '0' END) 女性
    FROM t_mjzcf a GROUP BY a.cfhm;
    
  4. 根据科室信息,查询出每个科室名称对应的处方数量,按照降序排列

    SELECT * FROM t_ts a,t_mjzcf b WHERE a.Ksdm = b.ksdm ORDER BY b.cfhm DESC;
    
  5. 查询病人张三的处方中药品名称、数量、单价

    SELECT ypmc,ypsl,ypdj FROM t_mjzmx WHERE cfsb = (SELECT cfsb FROM t_mjzcf WHERE brxm = '张三');
    
  6. 查询处方合计金额大于100的病人信息

    SELECT a.brxm,SUM(b.ypsl * b.ypdj) FROM t_mjzcf a,t_mjzmx b WHERE a.cfsb = b.cfsb GROUP BY a.brxm HAVING SUM(b.ypsl * b.ypdj) >= 100;
    
  7. 查询各科室的用药数量排名(前10名)

    SELECT a.Ksmc,COUNT(c.ypsl) FROM t_ts a,t_mjzcf b,t_mjzmx c WHERE a.Ksdm = b.ksdm and b.cfsb = c.cfsb GROUP BY a.Ksmc HAVING COUNT(c.ypsl) > 10;
    

2.作为一个实施人员,用户如果提出我们软件功能所不具备的需求,你该如何处理?简单列出你可能采取的几种措施

先记录用户提出提出的需求,向上级领导汇报
看用户要求合不合理,不合理就可以坚决退还需求,如果需求合理的话,可以
1.申请做二次开发,并且收取一定的费用,这个两边要沟通好。
2.如果上述方法不奏效,使用第三方软件做补助。

3.简答题

  1. 列举至少3种远程控制windows服务器的方法

    1.Windows自带的远程桌面连接——快捷键Win+R,输入mstsc,回车
    2.使用远程协助软件——向日葵、TeamViewer
    3.专业通信系统,即时通、OA等
    
  2. 查看本机所有配置的IP地址用什么命令?

    Windows操作系统下使用——ipconfig命令
    Linux操作系统下使用——ip addr命令和ifconfig命令
    
  3. 测试特定计算机和本机是否连通的命令是什么?

    ping命令
    
  4. 测试特定计算机的某端口和本机是否连通的命令是什么?

    telnet命令
    
  5. 测试网络丢包率和网络时延的方法是什么?

    ping命令
    
  6. 数据库至少包含两文件,分别是:

    主数据文件和日志文件
    
  7. 备份数据库有几种类型请列举

    热备(Hot Backup)
    冷备(Cold Backup)
    温备(Warm Backup)
    
  8. 写出Linux系统中获取pid为888的进程所监听的tcp端口的命令

    netstat -ntlp | grep 888
    

欢迎各位大佬纠正错误以及提供答案(可以直接打在评论区)

猜你喜欢

转载自blog.csdn.net/weixin_44904239/article/details/134417529