




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、黑马23期学员以3年工作经验出去面试的面试问题:1. mysql数据库的优化1、表的设计要符合三范式。2、添加适当的索引,索引对查询速度影响很大,必须添加索引。主键索引,唯一索引,普通索引,全文索引3、添加适当存储过程,触发器,事务等。4、读写分离(主从数据库)5、对sql语句的一些优化,(查询执行速度比较慢的sql语句)6、分表分区分表:把一张大表分成多张表。分区:把一张表里面的分配到不同的区域存储,7、对mysql服务器硬件的升级操作。2. mysql数据库查询使用limit,两次查询结果会不会不一致,为什么?MySQL的limit给分页带来了极大的方便,但数据量一大的时候,limit的性
2、能就急剧下降。同样是取10条数据,下面两句就不是一个数量级别的。1select*fromtablelimit 10000,102select*fromtablelimit 0,10这个可能和咱们的数据库的数据有关!3. 如何创建索引查询数据库?这个网页里面是数据库创建索引的步骤!自己理解一下,因为在面试过程中这个问题问的比较多!4、redis中的事务和mysql中的事务有什么区别?1、Redis中的事务(transaction)是一组命令的集合。事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行。Redis事务的实现需要用到MULTI和EXEC两个命令,事务开
3、始的时候先向Redis服务器发送MULTI命令,然后依次发送需要在本次事务中处理的命令,最后再发送EXEC命令表示事务命令结束。2、mysql的事务特性,要求这组操作,要不全都成功,要不全都失败,这样就避免了某个操作成功某个操作失败。利于数据的安全5、zookeeper为什么可以做注册中心?原理是什么?首先我们要知道什么是zookeeper。zookeeper是一个为分布式应用提供一致性服务的软件,它是开源的Hadoop项目中的一个子项目! (1)配置管理集中式的配置管理在应用集群中是非常常见的,一般商业公司内部都会实现一套集中的配置管理中心,应对不同的应用集群对于共享各自配置的需求,并且在配
4、置变更时能够通知到集群中的每一个机器。Zookeeper很容易实现这种集中式的配置管理,比如将APP1的所有配置配置到/APP1 znode下,APP1所有机器一启动就对/APP1这个节点进行监控(zk.exist(/APP1,true),并且实现回调方法Watcher,那么在zookeeper上/APP1 znode节点下数据发生变化的时候,每个机器都会收到通知,Watcher方法将会被执行,那么应用再取下数据即可(zk.getData(/APP1,false,null);以上这个例子只是简单的粗颗粒度配置监控,细颗粒度的数据可以进行分层级监控,这一切都是可以设计和控制的。(2)集群管理应用
5、集群中,我们常常需要让每一个机器知道集群中(或依赖的其他某一个集群)哪些机器是活着的,并且在集群机器因为宕机,网络断链等原因能够不在人工介入的情况下迅速通知到每一个机器。Zookeeper同样很容易实现这个功能,比如我在zookeeper服务器端有一个znode叫/APP1SERVERS,那么集群中每一个机器启动的时候都去这个节点下创建一个EPHEMERAL类型的节点,比如server1创建/APP1SERVERS/SERVER1(可以使用ip,保证不重复),server2创建/APP1SERVERS/SERVER2,然后SERVER1和SERVER2都watch /APP1SERVERS这个
6、父节点,那么也就是这个父节点下数据或者子节点变化都会通知对该节点进行watch的客户端。因为EPHEMERAL类型节点有一个很重要的特性,就是客户端和服务器端连接断掉或者session过期就会使节点消失,那么在某一个机器挂掉或者断链的时候,其对应的节点就会消失,然后集群中所有对/APP1SERVERS进行watch的客户端都会收到通知,然后取得最新列表即可。另外有一个应用场景就是集群选master,一旦master挂掉能够马上能从slave中选出一个master,实现步骤和前者一样,只是机器在启动的时候在APP1SERVERS创建的节点类型变为EPHEMERAL_SEQUENTIAL类型,这样
7、每个节点会自动被编号,我们默认规定编号最小的为master,所以当我们对/APP1SERVERS节点做监控的时候,得到服务器列表,只要所有集群机器逻辑认为最小编号节点为master,那么master就被选出,而这个master宕机的时候,相应的znode会消失,然后新的服务器列表就被推送到客户端,然后每个节点逻辑认为最小编号节点为master,这样就做到动态master选举。6、手写一个单例模式Java的设计模式比较多,但是我们在面试前面至少有看好几个设计面试,1.饿汉式单例类/饿汉式单例类.在类初始化时,已经自行实例化 public class Singleton1 /私有的默认构造子 pr
8、ivate Singleton1() /已经自行实例化 private static final Singleton1 single = new Singleton1(); /静态工厂方法 public static Singleton1 getInstance() return single; 2.懒汉式单例类/懒汉式单例类.在第一次调用的时候实例化 public class Singleton2 /私有的默认构造子 private Singleton2() /注意,这里没有final private static Singleton2 single=null; /静态工厂方法 public
9、 synchronized static Singleton2 getInstance() if (single = null) single = new Singleton2(); return single; 3.登记式单例类import java.util.HashMap;import java.util.Map;/登记式单例类./类似Spring里面的方法,将类名注册,下次从里面直接获取。public class Singleton3 private static Map map = new HashMap(); static Singleton3 single = new Singl
10、eton3(); map.put(single.getClass().getName(), single); /保护的默认构造子 protected Singleton3() /静态工厂方法,返还此类惟一的实例 public static Singleton3 getInstance(String name) if(name = null) name = Singleton3.class.getName(); System.out.println(name = null+-name=+name); if(map.get(name) = null) try map.put(name, (Sing
11、leton3) Class.forName(name).newInstance(); catch (InstantiationException e) e.printStackTrace(); catch (IllegalAccessException e) e.printStackTrace(); catch (ClassNotFoundException e) e.printStackTrace(); return map.get(name); /一个示意性的商业方法 public String about() return Hello, I am RegSingleton.; publi
12、c static void main(String args) Singleton3 single3 = Singleton3.getInstance(null); System.out.println(single3.about(); 7.maven的插件有哪些Maven 提供以下两种类型插件:类型描述构建插件在生成过程中执行,并在 pom.xml 中的 元素进行配置报告插件在网站生成期间执行,在 pom.xml 中的 元素进行配置以下是一些常见的插件列表:插件描述clean编译后的清理目标,删除目标目录compiler编译 Java 源文件surefile运行JUnit单元测试,创建测试报
13、告jar从当前项目构建 JAR 文件war从当前项目构建 WAR 文件javadoc产生用于该项目的Javadocantrun从构建所述的任何阶段运行一组 Ant 任务8.maven如何处理依赖冲突的问题?下面是maven的解决maven传递依赖中的版本冲突首先在pom.xml中添加:org.apache.maven.plugins maven-project-info-reports-plugin 如果用的是eclipse,那就用run as-build-在Goals那个框框里输入:project-info-reports:dependencies,如果实在dos环境下,就mvn proje
14、ct-info-reports:dependencies。然后就会在target的文件夹下,生成一个site文件夹,里边有个dependency.html,进去就能看到详细的依赖的信息。或者直接在eclipse中打开pom.xml文件会看到打开的窗口中有一个dependency hie开头的选项卡。这个选择卡页面左半部分显示了详细的jar包依赖树。右半部分则是maven将会下载的jar包。比如我们看到右半部分有2个asm的jar,版本不同。现在需要排除其中低版本的jar(比如xwork-core下的某个jar依赖的asm版本相对较低,不一定说是xwork-core依赖,而是它的依赖的依赖,即多
15、重依赖的asm都是可以的)org.apache.struts.xworkxwork-core$struts.versionasmasm当然我们也可以在dependency hie开头的选项卡中右半部分直接选中那个低版本的asm.jar。然后右键exclude maven.点击确定会自动生成上面的。如果你这个是步骤解决问题的步骤!在面试的时候咱们是可以用语言打动面试官的maven引入依赖的时候,有的时候会发生循环依赖的情况,造成依赖失败,例如A依赖于B,B又依赖于C,C又依赖于A,造成一种环路,这样的话会失败。假设依赖A依赖于B,D也依赖于B,B在pom中有2个版本B1,B2(有可能是直接依赖,
16、也有可能是间接依赖),那么maven会通过以下机制引入依赖:如果A直接依赖于B1,A-B1,D间接依赖于B2,例如D-C-B2,那么maven会有优先选择依赖路径短的那个版本,即依赖B1,而不依赖B2。假设B1,B2都是间接依赖,例如A-C-B1,D-C-B2,那么在选择B的依赖版本的时候,谁在pom文件中优先声明依赖了,那么就依赖哪个,假设A-C-B1在pom文件中优先D-C-B2声明了,那么将引入B1.这样面试官会认为你真正做过开发,并且自己遇到这样的问题!offer就在向你招手9.电商项目中是如何解决高并发和高可用的?1、尽量将请求的页面静态化 静态化的页面为.html(.htm等)不需
17、要web服务器重新加载项解析,只需要生成一次,以后每次都直接下载到客户端,效率高很多。javaWeb静态化的技术有freemark和Velocity等。2、fastDFS图片服务器:将网站系统的web服务器、数据库服务器、图片和文件服务器分开,通过将服务器专业化分工,以提高网站访问速度。因为图片和文件在下载的时候无论是IIS、Apache等服务器都会有很大压力。3、数据缓存服务器 redis可以设置专门的数据缓存服务器,将大量数据放到缓存数据区,在访问量少得时候存入数据,减少连接直接操作数据库的开销。4、数据库集群、库表散列(数据库的各种优化、数据库的拆分)5、镜像(这个本人原理也是不是很明白
18、)镜像是大型网站常采用的提高性能和数据安全性的方式,镜像的技术可以解决不同网络接入商和地域带来的用户访问速度差异,比如ChinaNet和EduNet之间的差异就促使了很多网站在教育网内搭建镜像站点,数据进行定时更新或者实时更新。在镜像的细节技术方面,这里不阐述太深,有很多专业的现成的解决架构和产品可选。也有廉价的通过软件实现的思路,比如Linux上的rsync等工具。6、负载均衡(nginx)负载均衡将是大型网站解决高负荷访问和大量并发请求采用的高端解决办法。7、最新:CDN加速技术(这个比镜像更好用)什么是CDN?CDN的全称是内容分发网络。其目的是通过在现有的Internet中增加一层新的
19、网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。10.nginx的作用?如何实现负载均衡的,原理是什么?nginx的作用:1、http服务2、负载均衡3、解决高并发这个在上课的时候老师是有文档的!11.如果redis广告位节点中存入的大量数据(十万条),当添加新广告数据时,是否也要删掉十万广告对应的key?是否有其他解决方案保证能redis中数据是最新的?Redis的作用: 1 、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。2 、Redis支持数据的备份,即maste
20、r-slave模式的数据备份。3 、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。Redis常用数据类型Redis最为常用的数据类型主要有以下:StringHashListSetSorted setpub/subTransactions12.activemq的事务管理?在创建session时可以选择开启事务控制。所谓事务控制,即将消息生成发送,或接受,消费操作放入一个事务中。但不能同时控制发送与消费这一整个过程。因为事务都是基于一个session下的操作。如下代码即开启了事务处理:ActiveMQSession session = connecti
21、on.createSession(true,Session.CLIENT_ACKNOWLEDGE);在事务状态下进行发送操作,消息并未真正投递到中间件,而只有进行mit操作之后,消息才会发送到中间件,再转发到适当的消费者进行处理。如果是调用rollback操作,则表明,当前事务期间内所发送的消息都取消掉。此时无论commit或rollback,会重新打开一个事务。与此同时,在rollback之后,随着新的事务打开,一些持久化的消息会重新接收。原因在于当传送模式处于持久话的状态,产生的消息如若没有被及时签收确认,则消息会被中间件持久化。此时,当客户端重新连接或新的事务开启,消息会被再次发送到客户
22、端。为什么commit之后,不会有持久的消息重新传送呢?原因在于commit操作会自动将为签收确认的消息进行签收确认,如果是当前接收但未签收确认的消息,都会被确认处理。因而在commit之后不会有持久化的消息出现。13.“this is a dog”是如何添加到索引库中的?(solr)索引Solr/Lucene采用的是一种反向索引,所谓反向索引:就是从关键字到文档的映射过程,保存这种映射这种信息的索引称为反向索引 左边保存的是字符串序列 右边是字符串的文档(Document)编号链表,称为倒排表(Posting List)字段串列表和文档编号链表两者构成了一个字典。现在想搜索”lucene”,
23、那么索引直接告诉我们,包含有”lucene”的文档有:2,3,10,35,92,而无需在整个文档库中逐个查找。如果是想搜既包含”lucene”又包含”solr”的文档,那么与之对应的两个倒排表去交集即可获得:3、10、35、92。索引创建假设有如下两个原始文档:文档一:Students should be allowed to go out with their friends, but not allowed to drink beer.文档二:My friend Jerry went to school to see his students but found them drunk wh
24、ich is not allowed.创建过程大概分为如下步骤:一:把原始文档交给分词组件(Tokenizer)分词组件(Tokenizer)会做以下几件事情(这个过程称为:Tokenize),处理得到的结果是词汇单元(Token)1. 将文档分成一个一个单独的单词2. 去除标点符号3. 去除停词(stop word) 所谓停词(Stop word)就是一种语言中没有具体含义,因而大多数情况下不会作为搜索的关键词,这样一来创建索引时能减少索引的大小。英语中停词(Stop word)如:”the”、”a”、”this”,中文有:”的,得”等。不同语种的分词组件(Tokenizer),都有自己的停
25、词(stop word)集合。经过分词(Tokenizer)后得到的结果称为词汇单元(Token)。上例子中,便得到以下词汇单元(Token):Students,allowed,go,their,friends,allowed,drink,beer,My,friend,Jerry,went,school,see,his,students,found,them,drunk,allowed二:词汇单元(Token)传给语言处理组件(Linguistic Processor)语言处理组件(linguistic processor)主要是对得到的词元(Token)做一些语言相关的处理。对于英语,语言处
26、理组件(Linguistic Processor)一般做以下几点:1. 变为小写(Lowercase)。2. 将单词缩减为词根形式,如”cars”到”car”等。这种操作称为:stemming。3. 将单词转变为词根形式,如”drove”到”drive”等。这种操作称为:lemmatization。语言处理组件(linguistic processor)处理得到的结果称为词(Term),例子中经过语言处理后得到的词(Term)如下:student,allow,go,their,friend,allow,drink,beer,my,friend,jerry,go,school,see,his,s
27、tudent,find,them,drink,allow。经过语言处理后,搜索drive时drove也能被搜索出来。Stemming 和 lemmatization的异同: 相同之处:1. Stemming和lemmatization都要使词汇成为词根形式。 两者的方式不同:1. Stemming采用的是”缩减”的方式:”cars”到”car”,”driving”到”drive”。2. Lemmatization采用的是”转变”的方式:”drove”到”drove”,”driving”到”drive”。 两者的算法不同:1. Stemming主要是采取某种固定的算法来做这种缩减,如去除”s”,
28、去除”ing”加”e”,将”ational”变为”ate”,将”tional”变为”tion”。2. Lemmatization主要是采用事先约定的格式保存某种字典中。比如字典中有”driving”到”drive”,”drove”到”drive”,”am, is, are”到”be”的映射,做转变时,按照字典中约定的方式转换就可以了。3. Stemming和lemmatization不是互斥关系,是有交集的,有的词利用这两种方式都能达到相同的转换。三:得到的词(Term)传递给索引组件(Indexer)1. 利用得到的词(Term)创建一个字典2. Term Document ID3. stu
29、dent 14. allow 15. go 16. their 17. friend 18. allow 19. drink 110. beer 111. my 212. friend 213. jerry 214. go 215. school 216. see 217. his 218. student 219. find 220. them 221. drink 2allow 222. 对字典按字母顺序排序:23. Term Document ID24. allow 125. allow 126. allow 227. beer 128. drink 129. drink 230. fi
30、nd 231. friend 132. friend 233. go 134. go 235. his 236. jerry 237. my 238. school 239. see 240. student 141. student 242. their 1them 243. 合并相同的词(Term)成为文档倒排(Posting List)链表 Document Frequency:文档频次,表示多少文档出现过此词(Term) Frequency:词频,表示某个文档中该词(Term)出现过几次对词(Term) “allow”来讲,总共有两篇文档包含此词(Term),词(Term)后面的文档链
31、表总共有两个,第一个表示包含”allow”的第一篇文档,即1号文档,此文档中,”allow”出现了2次,第二个表示包含”allow”的第二个文档,是2号文档,此文档中,”allow”出现了1次至此索引创建完成,搜索”drive”时,”driving”,”drove”,”driven”也能够被搜到。因为在索引中,”driving”,”drove”,”driven”都会经过语言处理而变成”drive”,在搜索时,如果您输入”driving”,输入的查询语句同样经过分词组件和语言处理组件处理的步骤,变为查询”drive”,从而可以搜索到想要的文档。搜索步骤搜索”microsoft job”,用户的目
32、的是希望在微软找一份工作,如果搜出来的结果是:”Microsoft does a good job at software industry”,这就与用户的期望偏离太远了。如何进行合理有效的搜索,搜索出用户最想要得结果呢?搜索主要有如下步骤:一:对查询内容进行词法分析、语法分析、语言处理1. 词法分析:区分查询内容中单词和关键字,比如:english and janpan,”and”就是关键字,”english”和”janpan”是普通单词。2. 根据查询语法的语法规则形成一棵树3. 语言处理,和创建索引时处理方式是一样的。比如:leanedlean,drivendrive二:搜索索引,得到符
33、合语法树的文档集合三:根据查询语句与文档的相关性,对结果进行排序我们把查询语句也看作是一个文档,对文档与文档之间的相关性(relevance)进行打分(scoring),分数高比较越相关,排名就越靠前。当然还可以人工影响打分,比如百度搜索,就不一定完全按照相关性来排名的。如何评判文档之间的相关性?一个文档由多个(或者一个)词(Term)组成,比如:”solr”, “toturial”,不同的词可能重要性不一样,比如solr就比toturial重要,如果一个文档出现了10次toturial,但只出现了一次solr,而另一文档solr出现了4次,toturial出现一次,那么后者很有可能就是我们想
34、要的搜的结果。这就引申出权重(Term weight)的概念。权重表示该词在文档中的重要程度,越重要的词当然权重越高,因此在计算文档相关性时影响力就更大。通过词之间的权重得到文档相关性的过程叫做空间向量模型算法(Vector Space Model)影响一个词在文档中的重要性主要有两个方面: Term Frequencey(tf),Term在此文档中出现的频率,ft越大表示越重要 Document Frequency(df),表示有多少文档中出现过这个Trem,df越大表示越不重要物以希为贵,大家都有的东西,自然就不那么贵重了,只有你专有的东西表示这个东西很珍贵,权重的公式:空间向量模型文档中
35、词的权重看作一个向量Document = term1, term2, ,term NDocument Vector = weight1, weight2, ,weight N把欲要查询的语句看作一个简单的文档,也用向量表示:Query = term1, term 2, , term NQuery Vector = weight1, weight2, , weight N把搜索出的文档向量及查询向量放入N维度的空间中,每个词表示一维:夹角越小,表示越相似,相关性越大补充:Lucene: 全文检索的基本原理 这个里面有一些解释!lucene和solr的区别是在于:Solr是基于Lucene开发的全
36、文检索服务器,而Lucene就是一套实现了全文检索的api,其本质就是一个全文检索的过程。全文检索就是把原始文档根据一定的规则拆分成若干个关键词,然后根据关键词创建索引,当查询时先查询索引找到对应的关键词,并根据关键词找到对应的文档,也就是查询结果,最终把查询结果展示给用户的过程。14.http的三次握手?socket有几种状态?socket底层编程?http的三次握手TCP(Transmission Control Protocol)传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous
37、建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)Sequence number(顺序号码) Acknowledge number(确认号码)在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_
38、RECV状态; 第三次握手:客户端收到服务器的SYNACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.socket有几种状态CLOSED没有使用这个套接字LISTEN套接字正在监听入境连接SYN_SENT套接字正在试图主动建立连接SYN_RECEIVED正在处于连接的初始同步状态ESTABLISHED连接已建立CLOSE_WAIT远程套接字已经关闭:正在等待关闭这个套接字FIN_WAIT_1套接字已关闭,正在关闭连接CLOSING套接字已关闭,远程套接字正在关闭,暂时挂起关
39、闭确认LAST_ACK远程套接字已关闭,正在等待本地套接字的关闭确认FIN_WAIT_2套接字已关闭,正在等待远程套接字关闭TIME_WAIT这个套接字已经关闭,正在等待远程套接字的关闭传送socket底层编程(这个可以不用了解)http是网络上层协议。底层还是socket短连接是发送数据时进行联接。发送完关闭(我们做完电商项目之后这些有了解一下)15.你所知道的通讯协议?在ip网络中,传输层主要协议是:tcp及udp。在web中,应用层也用http传输。在网络io中,目前主要有:bio(阻塞)、nio(非阻塞)、aio(异步jdk7中新特性)。具体不作解析可以看相关文档。在传输中应用层的协议
40、及规范主要有:RMI(java原生的),用java自身的序列化技术。xml-rpc 用xml+httpBinary-RPC 用二进制+httpsoap,可以说是xml-rpc的一种封装COBRA,加入了jdk中jms,这个是一种规范,基于队列模型的主要的实现框架,可以组合使用。activeMQ:是jms的一种实现mina:基本是包装了nio.ApacheMINAis a network application framework which helps users develop high performance and high scalability network application
41、seasily。It provides an abstract event-driven asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.Hessian:Hessian是一个轻量级的remoting onhttp工具.采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据.自己实现序列化。Burlap:和Hessian差不多,基于xml-RPC的实现mule esb: 直接看官方文档/ 基于总线模型spring-Re
42、moting 重量级的Jboss-Remoting 重量及的EJB316、redis集群中,某个节点宕机怎么办?你遇见过吗?你的解决思路是什么?其他学员的面试问题汇总:1、hibernate 和mybetis的异同之处?2、用户在app订阅业务,使用什么设计模式实现?应用场景是什么?3、springmvc 如何声明一个controller? 注解4、设计模式有哪些?单例,工厂,观察者.观察者模式的应用场景?5、怎么声明事物?在spring配置文件中声明6、编写匹配字符串(求质数)的程序7、分词技术8、不开启服务,页面怎么实现热更新!面试问题分类:一、Java基础1.String类为什么是fin
43、al的。2.HashMap的源码,实现原理,底层结构。3.反射中,Class.forName和classloader的区别4.session和cookie的区别和联系,session的生命周期,多个服务部署时session管理。5.Java中的队列都有哪些,有什么区别。6.Java的内存模型以及GC算法7.Java7、Java8的新特性8.Java数组和链表两种结构的操作效率,在哪些情况下(从开头开始,从结尾开始,从中间开始),哪些操作(插入,查找,删除)的效率高9.Java内存泄露的问题调查定位:jmap,jstack的使用等等二、框架1.struts1和struts2的区别2.struts2和springMVC的区别3.spring框架中需要引用哪些j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 30425-2025高压直流输电换流阀水冷却设备
- GB/T 40711.5-2025乘用车循环外技术/装置节能效果评价方法第5部分:发电机
- 经济数据分析与决策试题及答案
- 材料疲劳裂纹扩展数据统计分析重点基础知识点
- 材料疲劳损伤累积分析数据可视化重点基础知识点
- 船舶火灾呼叫外界救火应急预案(3篇)
- 航空器舱内火灾应急预案(3篇)
- 课程学习建议与经验2025年计算机二级VB考试试题及答案
- 学院火灾处置应急预案(3篇)
- 经济增长的驱动力与政策应对策略试题及答案
- 育龄人群不孕不育防治临床实践指南(2024)解读
- AgFunder -2025 年全球农业食品科技投资报告 Global AgriFoodTech Investment Report 2025
- (二调)武汉市2025届高中毕业生二月调研考试 语文试卷(含官方答案解析)
- 线路安规培训
- 大风天气下的物流运输安全措施
- 老旧小区加装电梯使用公约协议
- 新生儿护理安全用药
- 2025年湖北省新华书店集团有限公司招聘笔试参考题库含答案解析
- 医疗护理医学培训 临时起搏器的使用及参数调整课件
- 《中国妇女妊娠期体重监测与评价》(T-CNSS 009-2021)
- 情境教学法在初中函数教学中的实践研究
评论
0/150
提交评论