


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 (口述题)请简述迅雷、BT 等 p2p 下载软件的实现原理。如何资源分布。解释:A 想来 B 家做客 ,但是遭到了 B 的管家 NAT B 的拒绝 , 理由是 :我从来没有听我家 B 提过你的名字 ,这时 A 找到了 A,B 都认识的朋友server, 要求 server给 B 报一个信 , 让 B 去跟管家说 A 是我的朋友 ,于是 ,B 跟管家 NAT B 说,A 是我认识的朋友 ,这样A 的访问请求就不会再被管家NAT B所拒绝了 . 简而言之 ,UDP 打洞就是一个通过 server 保存下来的地址使得彼此之间能够直接通信的过 程,server 只管帮助建立连接 ,在建立间接之后就
2、不再介入了 .2 维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么解释:尽可能用约束(包括 CHECK 、主键、唯一键、外键、非空字段)实现,这种方式的效率最好; 其次用触发器, 这种方式可以保证无论何种业务系统访问数据库都能维持数据库的完整性、 一致性;最后再考虑用自写业务逻辑实现, 但这种方式效率最低、编程最复杂,当为下下之策。3 A=10,b=20 在不使用第三变量 使两值互换解释 : a=10,b=8a=a-bb=b+aa=b-a4. override与重载的区别解释: override是把继承于父类的方法给覆盖掉重载是同一个函数名接受不同类型、个数的参数, 完成不同
3、的功能, 调用起来方便5 抽象类跟接口的区别解释:抽象类可以有非抽象方法, 接口中只能有抽象方法。 接口可以实现多继承。6 try里有一个 return语句,那么紧跟在这个try 后的会不会被执行,什么时候被执行,在return前还是后 ?finally里的code解释: inally里的代码会执行,在return之前执行7 实现一个冒泡排序解释:ArrayList list=new ArrayList();list.add(76);list.add(4);list.add(786);list.add(43);list.add(21);list.add(432);list.add(10);fo
4、r(int i=0;ilist.size()-1;i+) for(int j=1;j0) /比较两个整数的大小a=list.get(j-1);list.set(j-1),list.get(j);list.set(j,a);for(Integer s:list) System.out.println(Value();8 查出总成绩大于 100分的学生信息1ZhangSql602liC#503wangJava704zhangJava555liSql606liJava65解释: select* fromtable where id in (select name,sum(gade) as
5、totalfrom table group by name having total100 )Where 在分组之前过滤数据, 条件不能包含聚组函数, having在分组之后过滤数据,条件中经常包含聚组函数。带聚合函数的select中只能有聚合函数和分组列。9. 有一个学生表,有学生姓名,语文成绩,数学成绩。请写出查询语文成绩和数学成绩在 60 分以上的学生信息, 并能查出语文成绩和数学成绩之和大于130分的学生信息,请用一句SQL 拼写出来 。解 释: select*fromtablewhereyuwen60andshuxue60andyuwen+shuxue13010. & 和& 的区别?
6、解释:计算 p1&p2时,Java 先计算 p1, 若 p1 为 true 再计算 p2; 若 p1 为 false,则不再计算 P211. 什么是事务?什么是锁?解释:事务是指一个工作单元, 它包含了一组数据操作命令,并且所有的命令作为一个整体一起向系统提交或撤消请求操作,即这组命令要么都执行, 要么都不执行。锁是在多用户环境中对数据的访问的限制。SqlServer自动锁定特定记录、 字段或文件,防止用户访问, 以维护数据安全或防止并发数据操作问题,锁可以保证事务的完整性和并发性。12 什么是索引,有什么优点?解释:索引象书的目录类似, 索引使数据库程序无需扫描整个表,就可以在其中找到所需要
7、的数据, 索引包含了一个表中包含值的列表,其中包含了各个值的行所存储的位置, 索引可以是单个或一组列,索引提供的表中数据的逻辑位置,合理划分索引能够大大提高数据库性能。13 视图是什么?游标是什么?解释:视图是一种虚拟表, 虚拟表具有和物理表相同的功能,可以对虚拟表进行增该查操作,视图通常是一个或多个表的行或列的子集,视图的结果更容易理解(修改视图对基表不影响) ,获取数据更容易 (相比多表查询更方便),限制数据检索(比如需要隐藏某些行或列) ,维护更方便。游标对查询出来的结果集作为一个单元来有效的处理,游标可以定位在结果集的特定行、从结果集的当前位置检索一行或多行、可以对结果集中当前位置进行
8、修改、15 什么是存储过程?有什么优点?解释:存储过程是一组予编译的SQL 语句,它的优点有 1. 允许模块化程序设计,就是说只需要创建一次过程, 以后在程序中就可以调用该过程任意次。2. 允许更快执 行,如果某操作需要执行大量SQL 语句或重复执行,存储过程比SQL 语句执行的要快。 3. 减少网络流量,例如一个需要数百行的SQL 代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。4. 更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。16 什么是触发器?解释:触发器是一种特殊类型的存储过程, 出发器主要通过事件触发而被执行的,触发器的优点: 1. 强化约束
9、,触发器能够提供比CHECK约束。 2. 跟踪变化,触发 器可以跟踪数据库内的操作,从而不允许未经允许许可的更新和变化。3.联级运算,比如某个表上的触发器中包含对另一个表的数据操作,而该操作又导致该表上的触发器被触发。17 销售主表(订单号,业务员, 客户名称, 合同日期)销售子表(订单号,产品编号,销售数量,销售金额)产品表(产品编号, 产品名称)请根据以下条件,写出分别sql 语句1. 统计合同日期为 2006 年 10 月的各业务员的销售数量和销售金额2. 统计合同日期为 2006 年 10 月的各产品的销售数量和销售金额3. 计算业务员张三销售的产品为 维生素 b 的平均价格18 什么
10、叫做 sql 注入,如何防止?请那个举例说明。解释: sql 注入,就是利用程序员对用户输入数据的合法性检测不严或不检测的特点,故意从客户端提交特殊代码,获取服务端信息。例如:“ select * from users where username=”+v_name+ “ and pwd=” +v_pwd+ “”;If(obj!=null)验证通过用户名随便输入,密码输入:aaa or 1=1如何防止: PreparedStatement19 请写出 javascript弹出确认框的函数。解释: confirm( 是否删除 )20 你以为大数据量下的列表显示分页应该如何处理?请叙述一下你的方法
11、解释:type refCursorType is REF CURSOR;- 游标类型定义,用于返回数据集procedure sp_Page(p_PageSize int,- 每页记录数p_PageNo int,- 当前页码 ,从 1 开始p_SqlSelect varchar2,- 查询语句 ,含排序部分p_OutRecordCount out int,-返回总记录数p_OutCursor out refCursorType)asv_sql varchar2(3000);v_count int;v_heiRownum int;v_lowRownum int;begin- 取记录总数v_sql
12、:= select count(*) from ( | p_SqlSelect | );execute immediate v_sql into v_count;p_OutRecordCount := v_count;- 执行分页查询v_heiRownum := p_PageNo * p_PageSize;v_lowRownum := v_heiRownum - p_PageSize + 1;v_sql := SELECT *FROM (SELECT A.*, rownum rnFROM(| p_SqlSelect |) AWHERE rownum = | to_char(v_lowRownu
13、m) ;- 注意对 rownum 别名的使用 ,第一次直接用 rownum, 第二次一定要用别名 rnOPEN p_OutCursor FORv_sql;end sp_Page;/* 功能描述 : 大数据量分页通用存储过程 (重载 1 ,推荐使用 )* 创建人:夏春涛* 创建时间 : 2005-07-01*/procedure sp_Page(p_PageSize int,- 每页记录数p_PageNo int,- 当前页码 ,从 1 开始p_SqlSelect varchar2,- 查询语句 ,含排序部分p_SqlCount varchar2,- 获取记录总数的查询语句p_OutRecord
14、Count out int,-返回总记录数p_OutCursor out refCursorType)asv_sql varchar2(3000);v_count int;v_heiRownum int;v_lowRownum int;begin- 取记录总数execute immediate p_SqlCount into v_count;p_OutRecordCount := v_count;- 执行分页查询v_heiRownum := p_PageNo * p_PageSize;v_lowRownum := v_heiRownum - p_PageSize + 1;v_sql := SE
15、LECT *FROM (SELECT A.*, rownum rnFROM(| p_SqlSelect |) AWHERE rownum = | to_char(v_lowRownum) ;- 注意对 rownum 别名的使用 ,第一次直接用 rownum, 第二次一定要用别名 rnOPEN p_OutCursor FORv_sql;end sp_Page;/* 功能描述 : 大数据量分页通用存储过程 (重载 2)* 创建人:夏春涛* 创建时间 : 2005-07-01*/procedure sp_Page(p_PageSize int,- 每页记录数p_PageNo int,- 当前页码 ,
16、 从 1 开始p_SqlSelect varchar2,- 查询语句 ,含排序部分p_OutCursor out refCursorType)asv_sql varchar2(3000);-v_count int;v_heiRownum int;v_lowRownum int;begin/*- 取记录总数v_sql := select count(*) from ( | p_SqlSelect | );execute immediate v_sql into v_count;p_OutRecordCount := v_count;*/- 执行分页查询v_heiRownum := p_PageN
17、o * p_PageSize;v_lowRownum := v_heiRownum - p_PageSize + 1;v_sql := SELECT *FROM (SELECT A.*, rownum rnFROM(| p_SqlSelect |) AWHERE rownum = | to_char(v_lowRownum) ;- 注意对 rownum 别名的使用 ,第一次直接用 rownum, 第二次一定要用别名 rnOPEN p_OutCursor FORv_sql;end sp_Page21 short s1 = 1; s1 = s1 + 1;有什么错 ?short s1 = 1; s1
18、 += 1;有什么错 ?解释:第一句,编译期出错,第二句正确,属于方法重载。22 简述 spring的 AOP 和 IOC解释: ioc (控制反转)是一种设计模式,由传统的在程序中控制依赖转移到由容器控制,将相互依赖的对象分离,在spring文件中描述依赖,依赖只在使用时建立。Aop(面向切面)是一种编程思想, oop 的延伸,将系统中非核心业务提取出来,单独处理。23 Tomcat的开启在哪个文件夹,改端口号的是哪个文件?解释: tomcat/bin tomcat/conf server.xml24 Jdk 配置环境变量解释: JAVA_HOME C:JDK1.6.025 Java中访问数
19、据库的步骤? Statement和 PreparedStatement之间的区别?解释: 1 。注册驱动 2 。取得连接对象3 。取得 Statement4。调用 sql 5 。处理 ResultSet 6 。关闭资源26 在控制台输入ip(5),然后 , 用. 分割开并且每组数据不能超过255, 最后 ,在控制台输出分割后的ip 。27 编程题 : 写一个 Singleton出来。解释: class Textprivate static Text t=new Text();private Text()public static Text getInstance()if
20、(t=null)t=new Text();return t;class Textprivate static Text t=new Text();public static synchronized Text getInstance()if(t=null)t=new Text();return t;28. sleep() 和 wait() 有什么区别 ?解释: sleep 不释放锁,可实现同步,wait 释放资源,无法同步。29. 启动一个线程是用run() 还是 start()?解释:30. 在控制台输入 ip(5), 然后 , 用. 分割开并且每组数据不能超过255
21、, 最后 ,在控制台输出分割后的ip 。31. Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 =还是 equals()?它们有何区别 ?32. try 里有一个 return语句,那么紧跟在这个try后的 finally 里的 code会不会被执行,什么时候被执行,在return前还是后 ?33. Collection 和 Collections 的区别?34. HashMap 和 Hashtable 的区别 ?35. Arraylist 与 Vector 区别?解释: ArrayList不能同步,但性能更高,Vector 提供了同步机制。36. 集合二分法解释:使用范
22、围:在一个有序的集合里查找指定数字。Int start,end , index ;Strat = 0;End = list.size() -1 ;Index = (start-end)/2;If (list ( index ) 指定数字) End = index;else ifStart = index;elseBreak ;37. 写出一个排序算法38. Jndi 是什么?解释:为开发人员提供了查找和访问各种命名和目录服务的通用,统一的接口。目前可访问的目录及服务: dns ,xnam ,novell 目录服务, ldap ,corba 对象服务,文件系统,注册表, rmi , sdml ,
23、nis39. Java 序列化是怎么实现的?解释: 1 。将对象实例相关的类元数据输出2 。递归的输出类的超类直到不再有超类。 3 。开始从最顶层的超类输出对象实例的实际数据值。4 。递归输出实例数据40. Servlet 是否线程安全?41. 如何读取 Excel 文件的数据,填充到数据库中,实习思路是什么?42. 如果有重复的数据怎么办?以前的数据我想保留不可以删除,如何实习?43. 写一个方法传参( int age1 )方法实现的功能是查找 person类 如果存在 age 大于 age1 返回 true 否则返回 false44. 写一个 copy 方法 将已知的类 赋给另一个类45.
24、 根据某个字段 经过排序 查询前几条数据46. 查询性别男的数据,并以 ID 从小到大排序47. 用模糊查询姓王的人员解释: select * from table where name like王 %48. 删除生日在一段时间的数据解释:select * from table where to_char(shengri,YYYY-mm-dd) betweenriqi1 and riqi249. 查询全部数据,有相同就返回一条解释: select * from table group by nameId nameid name1a1a2b2b3c3c4b50. 在项目中那些地方使用到了XML
25、技术?如何实现的。51 定义函数和存储过程的区别是什么,什么情况下只能用自定义函数,什么情况下只能用存储过程52. subString 的用法, lenght 的用法, replace 的用法53. 写出一条 Sql 语句:取出表 A 中第 31 到第 40 记录( SQLServer, 以自动增长的 ID 作为主键 ,注意: ID 可能不是连续的。54. SqlConnection,SqlCommand,SqldataReader, SqlDataAdapter的用法55 SSQL : 请取出 tb_send表中日期 (SendTime字段 )为当天的所有记录 ?(SendTime 字段为
26、datetime 型,包含日期与时间 )。56 SSQL 中更新触发器中如果有更新该表语句是否会造成死循环以及原因。57. 递归法求 10 !58. struts 2 运行的全流程,解释:游浏览器发来的请求会被调度给struts2,这时 struts2清理环境上下文(ActionContext CleanUp)做好相应的准备,与此如果Web 框架配置了其他的框架过滤器(如siteMesh ),那么 struts2同时将用户的请求先通过此过滤器,该过滤器完成处理以后,struts2再通过 ActionMapper等控制器调度,查找配置文件struts.xml,调度相应URL控制器,准备调相应的a
27、ction ,如果此action配置了相关的拦截器, 则依照拦截器的性质分别在action执行前后执行这些拦截器, Action与业务模型相互协作处理完成对应的用户逻辑后,将进一步唤醒视图模块以产生应答用户请求的页面。同时,如果在此应用配置中配置了其他的框架过滤器,那么struts2将控制权转交给此过滤器并完成整个应答。struts2采用的是pull-mvc模式,拉出式是指视图组件根据要求从控制器中将模型信息拉出来作为响应。这与传统的Model2的方式不同,传统的Model2没有使用模型来管理信息,而是直接使用视图来访问信息。“分级”是指对视图数据在存放,在struts2中,“值堆栈”用来为视
28、图提供信息。struts2 MVC是一个 java 轻量级 Web 应用程序开发框架,它支持多视图,允许用户使用不同的视图技术而不需要改变数据的生成逻辑。它同时也包含了一个强有力的表达式语言来遍历其环境栈,一个小而实用的标签库,59 用 for ,while,switch将 sdfdshelloWwerorld输出 helloWord,每次只能输出一个字符解释:1. String a= ” helloWord ” ;String b= ” sdfdshelloWwerorld ”; for(int i=0;ia.length;i+)String c=a.subString(i,i+1); fo
29、r(int j=0;jb.length;j+)String d=b.subString(j,j+1); if(c.equals(d)System.out.print(c);break;2.String a=” helloWord”;String b=” sdfdshelloWwerorld”;int i=0;while(ia.length)String c=a.subString(i,i+1);int j=0;while(jb.length()String d=b.subString(j,j+1);if(c.equals(d)System.out.print(c);break;3.String
30、 a=” helloWord” ;String b=” sdfdshelloWwerorld”;switch(a)case h :System.out.println(a);60 找出下面语句的错误,并进行改正,使其能正常运行。如何只修改 main 函数,输出 abc,能不能输出 bacClass TextSystem.out.println(“ b” );staticSystem.out.println(“ a” );public Test()System.out.println(“ c” );publicStringgetOut()/要想让程序正常运行,必须加static ,可能是因为是本
31、类调用,所以要加,如果用new关键字了就行了tryreturn“1”;catch()return“2”;finallyreturn“3”;public static void main(String args)System.out.println(getOut();/在这里 new一个 Text对象就可以了/ 要想输出 bac 在那个输出 b 的方法里,加上static61. 查询出员工的 员工姓名,员工性别,员工上司的姓名,如果此人无上司,显示无表名 :t_tablet_Idnamesexup01ding男02丁的男0103的的男01解释:declare t_cusor cursor rea
32、d_only forselect ,t1.sex, from t_table t1 left join t_table t2on t1.t_Id=t2.up order by declare name varchar(20),sex varchar(2),upName varchar(20)open t_cusorfetch next from t_cusor into name,sex,upNamewhile Fetch_status=0beginif(upname is null)beginset upname=无select name,sex,u
33、pNameendfetch next from t_cusor into name,sex,upNameendclose t_cusordeallocate t_cusor62 说有两个路口,路口站着两个人,说谎人站在说谎国路口,说实话人站在实话国路口,说谎人只说谎话,实话人只说实话,你如何问这两个人,一个同样的问题,知道那个人站的路口是说谎国,知道那个人站的路口是实话国。答:说一个大家都知道的事务, 问他们你自己的性别是男的是女的, 说话的人肯定假话,你要是男的他会说是女的, 说实话的人会说你是男的, 你自己知道答案,根据他们说的你就知道谁是说谎的人了,谁不是说慌的人。63 有一个表单(na
34、me=” form1 ”)一个文本框(name=” text1”)用不同的方式取得,尽量用不同的方法实现。64 实现一个将鼠标放在单元格上,显示背景色为#00ffff ,鼠标离开显示#000000,补充函数。Function a()Function b()65 定义一个坐标为(100,100)鼠标单击一下左移10 像素,下移 10 像素。解释: document.all.id.style.pixelTop = 100;Document.all.id.style.pixelLeft = 100;Document.all.button.onclick = function()Document.al
35、l.id.style.pixelTop +=10;Document.all.id.style.pixelLeft -=10;66 自已写一个表格,设置为70% 透明, 1 像素宽度,单元格左测为蓝色,右测为红色,上下为绿色,鼠标在与不在单元格上,显示不同的颜色。解释:border:1pxfilter:alpha(opacity=70);67 String str=abcde;反序输出此字符串不准用reverse函数解释: for (int i=str.length();i0;i-)System.out.println(str.substr(I-1,i);68 List list1=new Ar
36、rayList();list1.add(1);list1.add(2);l ist1.add(3);list1.add(4);list1.add(5);list1.add(6);List list2=new ArrayList();list2.add(2);list2.add(4);list2.add(6);list2.add(9);list2.add(0);将 list1 、 list2 去除重复项,赋值给 List3解释:for(int i=0;ilist1.size();i+)if(!list3.contains(list1.get(i)list3.add(list1.get(i);fo
37、r(int j=0;ilist2.size();j+)if(!list3.contains(list2.get(j)list3.add(list2.get(j);69 一张表字段Idintsex int mobile varchar对此表进行增删改查操作70 spring以及 hibernate的存在意义和查询模式71 多表连接查询(三个表)解释:72 查询表中有重复的某列解释:73 char 型变量中能不能存贮一个中文汉字 ?为什么 ?答:是能够定义成为一个中文的,因为java 中以 unicode编码,一个 char 占16 个字节,所以放一个中文是没问题的74 抽象类与接口的区别?答:抽
38、象类与接口都用于抽象,但是抽象类(JAVA 中)可以有自己的部分实现,而接口则完全是一个标识(同时有多重继承的功能 )。75 HashMap和 Hashtable的区别?答:都属于 Map 接口的类,实现了将惟一键映射到特定的值上。HashMap类没有分类或者排序。它允许一个null键和多个null值。Hashtable类似于HashMap,但是不允许null键和 null值。它也比HashMap慢,因为它是同步的。76 String s = new String(xyz);创建了几个 String Object?答:两个对象,一个是“xyx ”, 一个是指向“ xyx ”的引用对象 s 。7
39、7 数组有没有 length() 这个方法 ? String有没有 length() 这个方法?答:数组没有 length() 这个方法,有length的属性。String有有 length() 这个方法。78 Overload 和 Override的区别。 Overloaded的方法是否可以改变返回值的类型 ?答:方法的重写 Overriding和重载 Overloading是 Java 多态性的不同表现。重写 Overriding 是父类与子类之间多态性的 一种表现,重载 Overloading是一个类中多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重
40、写(Overriding) 。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方 法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载 (Overloading)。Overloaded 的方法是可以改变返回值的类型。79 接口是否可继承接口 ? 抽象类是否可实现接口 ? 抽象类是否可继承实体类?答:接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。80 构造器 Constructor是否可被 override?答:构造器 Constructor不能被继承,因此不能重写Overriding,但可以被重载 Overloading。81 是否可以继承String类?答: String类是 final类故不可以继承。82 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?答:是值传递。 Java编程语言只由值传递参数。当一个对象实例作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州金丽农业旅游产业发展集团有限公司招聘经理层高级管理人员(财务总监)1人考前自测高频考点模拟试题及答案详解(新)
- 秦皇岛市中医院患者培训能力考核
- 大学课件拍摄
- 邢台市中医院肾内科护士晋升主管护师重症监护考核
- 衡水市人民医院神经阻滞麻醉技术准入考核
- 2025江苏宿迁豫智文化产业发展有限公司招聘工作人员拟聘考前自测高频考点模拟试题及完整答案详解
- 北京市中医院病历书写规范考核
- 2025内蒙古应急管理厅选聘应急管理综合行政执法社会监督员的模拟试卷及答案详解(夺冠系列)
- 2025广东韶关市始兴县事业单位招聘工作人员暨“青年人才”和“急需紧缺人才”招聘89人模拟试卷附答案详解
- 2025湖北汉口学院保安招聘模拟试卷及答案详解(典优)
- 基孔肯雅病毒(CHIKV)实验活动风险评估报告
- 武汉从业资格证摸拟考试及答案解析
- 小学数学数与代数全学年复习资料
- 2025至2030医药级一氧化氮行业产业运行态势及投资规划深度研究报告
- 2025海康威视安检机用户手册
- 2025 精神障碍患者暴力行为应对护理课件
- 创新驱动人工智能+法律服务研究报告
- 《物联网技术》课件-第3章 无线传感器网络
- 保健行业员工知识培训课件
- 人民调解员培训课件
- 工业机器人基础课件:装配机器人及其操作应用
评论
0/150
提交评论