版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
企業(yè)面試總結(jié)
通過一星期H勺緊張面試,獲得了許多的面試經(jīng)驗(yàn),總結(jié)了面試中碰到的問題,現(xiàn)對某些重要
問題進(jìn)行總結(jié),但愿能給大家以協(xié)助。
非項(xiàng)目方面
1.redis內(nèi)存溢出及宕機(jī)狀態(tài)的處理
redis存在于內(nèi)存中,內(nèi)存大小有限,也會存在宕機(jī)或重啟導(dǎo)致內(nèi)存數(shù)據(jù)清空的狀況,此時
我們可通過對redis中的數(shù)據(jù)設(shè)置生存周期及對數(shù)據(jù)進(jìn)行持久化操作來盡量防止這些狀況帶
來的危害。
?設(shè)置生命周期:到期后數(shù)據(jù)銷毀
EXPIREkeyseconds設(shè)置生存時間
PERSISTkey清除生命時間(重新設(shè)值也會清除生命周期)
TTLkey查看剩余生存時間
TTL返回值:
不不大于0的數(shù)字:剩余生存時間,單位為秒i
-1:沒有生存時間,永久存儲
-2:數(shù)據(jù)已經(jīng)被刪除
?持久化:是把數(shù)據(jù)從內(nèi)存以某種形式持久化到磁盤上。
持久化方式:RDB(relationaldatabase)和AOF(appendonlymode)
RDB:
通過快照方式實(shí)現(xiàn),當(dāng)符合條件時就對內(nèi)存數(shù)據(jù)進(jìn)行快照并存儲到硬盤上??煺盏臈l件在配
置文獻(xiàn)中配置。由2個參數(shù)構(gòu)成,時間和改動的鍵H勺個數(shù)。
在配置文件中己經(jīng)預(yù)置了3個條件:
save9001#15分鐘內(nèi)有至少1個鍵被更改則進(jìn)行快照
save30010#5分鐘內(nèi)至少有10個鍵被更改則進(jìn)行快照
save6010000#1分鐘內(nèi)至少有10000個健被更改則進(jìn)行快照
以上條件之間是“或”的關(guān)系。
快照過程:
使用fork函數(shù)復(fù)制一份目前進(jìn)程(父進(jìn)程)的副本(子進(jìn)程),然后父進(jìn)程繼續(xù)處理任務(wù),
子進(jìn)程則執(zhí)行寫入磁盤操作。寫入完畢后再用臨時文獻(xiàn)替舊的RDB文獻(xiàn)。
可以通過SAVE和BGSAVE命令來尹動快照,茯個命令的區(qū)別是前者是由£
進(jìn)程進(jìn)行快照,會阻塞其他請求,后者是通過fork子進(jìn)程快照操作。
注意:由于Redis使用fork來復(fù)制一份當(dāng)前進(jìn)程,那么子進(jìn)程就會占有和主
進(jìn)程一樣的內(nèi)存資源.比如說主進(jìn)程8G內(nèi)存,那么在備份的時候必須保證
有16G的內(nèi)存,要不然會信用虛擬內(nèi)存,性能韭常惹.___________________
AOF:
是將redis的每一條命令進(jìn)行記錄,并保留到磁盤的AOF文獻(xiàn)中,重啟后會執(zhí)行該文獻(xiàn)進(jìn)行
數(shù)據(jù)恢復(fù),需要手動啟動,
優(yōu)化:aof會記錄每一條命令,包括一條數(shù)據(jù)的多次操作,這樣導(dǎo)致了冗余??墒褂?/p>
BGREWRITEAOF技術(shù)來進(jìn)行重寫,清除數(shù)據(jù)的中間執(zhí)行過程,保留最終數(shù)據(jù)命令即可。重寫
日勺方略是當(dāng)aof文獻(xiàn)的大小超過上一次大小日勺某個比例時就會進(jìn)行重寫。
問題:文獻(xiàn)是先寫入緩存的,而緩存讀取到硬盤需要時間,假設(shè)在這個時間數(shù)據(jù)丟失那也會
導(dǎo)致數(shù)據(jù)的丟失。因此雖然每秒做文獻(xiàn)同步也也許導(dǎo)致數(shù)據(jù)丟失。
2.Spring注解開發(fā)的配置
此處會讓你說出幾種常用注解,說幾種就行:。有時還會向作注解底層怎么實(shí)現(xiàn)就說不太理解。
在xml配置文獻(xiàn)中啟動注解功能
<!--base-package:注解寫在哪個包
<context:component-scanbase-package="cn.itcast.bean"/>
注解:
@Component(value="名稱')運(yùn)用構(gòu)造措施創(chuàng)立對象
@Scope(value="singleton/prototype")單例和多例
@Lazy(value=true/false)延遲創(chuàng)立問題
@PostConstruct指定措施為初始化措施
@PreDestory指定措施為銷毀措施
@Aulowired注入引用類型,只能按照類型進(jìn)行匹配
@Resource注入引用類型,假如有name屬性值,則按照bean口勺名稱進(jìn)行匹配;假
如沒有name屬性值,則按照類型進(jìn)行類型匹配
索引是迅速搜索口勺關(guān)鍵。MySQL索引的建立對于MySQL的高效運(yùn)行是很重要的。索引分單
列索引和組合索引。單列索引,即一種索引只包括單個列,一種表可以有多種單列索弓,但
這不是組合索引。組合索引,即一種索包括多種列。
MySQL索引類型包括:
一般索引:這是最基本的索引,它沒有任何限制。
唯一索引:它與前面的一般索引類似,不同樣H勺就是:索引列時值必須唯一,但容許有空
值。假如是組合索引,則列值的組合必須唯一。
主鍵索引:它是一種特殊的唯一索引,不容許有空值。
組合索引:將多種字段建到一種索引里。有個“最左前提”的成果。
建立索引日勺時機(jī):
一般來說,在WHERE和」OIN中出現(xiàn)的)列需要建立索引,但也不完全如此,由于MySQL只
對<,<=,=,>,>=,BETWEEN,IN,以及某些時候日勺LIKE才會使用索引。在以通配符%和_
開頭作查詢時,MySQL不會使用索引。
SELECT*FROMmytableWHEREusernamelike'admin%'而下句就不會使用:
SELECT*FROMmytableWHEREtNamelike^admin'
缺陷:
提高了查詢速度,但減少了更新速度。由于更新時要額外保留索引文獻(xiàn)。
索引文獻(xiàn)在大數(shù)據(jù)量時會影脹很快。
因此假如你日勺MySQL有大數(shù)據(jù)量的表,就需要花時間研究建立最優(yōu)秀的索引,或優(yōu)化查詢
語句。
使用索引的技巧和注意事項(xiàng):
1)索引不會包具有NULL值的列
只要列中包具有NULL值都將不會被包括在索引中,復(fù)合索引中只要有一列具有NULL值,
那么這一列對于此復(fù)合索引就是無效的。因此我們在數(shù)據(jù)庫設(shè)計時不要讓字段口勺默認(rèn)值為
NULL.
2)使用短索引
對串列進(jìn)行索引,假如也許應(yīng)當(dāng)指定一種前綴長度。例如,假如有一種CHAR(255)的歹L,假
如在前10個或20個字符內(nèi),多數(shù)值是惟一的,那么就不要對整個列進(jìn)行索引。短索引不僅
可以提高查詢速度并且可以節(jié)省磁盤空間和I/O操作。
3)索引列排序
MySQL杳詢只使用一種索引,因此假如where子句中已經(jīng)使用了索引B勺話,那么orderby
中的列是不會使用索引的,因此數(shù)據(jù)庫默認(rèn)排序可以符合規(guī)定口勺狀況下不要使用排序操作;
盡量不要包括多種列的排序,假如需要最佳給這些列創(chuàng);復(fù)合索引。
4)like語句操作
一般狀況下不鼓勵使用like操作,假如非使用不可,怎樣使用也是一種問題。like"%aaa%”不
會使用索引而like“aaa%”可以使用索引。
5)不要在列上進(jìn)行運(yùn)算
select*fromuserswhereYEAR(adddate)<2023;將在每個行上進(jìn)行運(yùn)算,這將導(dǎo)致索引失效而
進(jìn)行全表掃描,因此我們可以改成
select*fromuserswhereadddate</2023-01-01,;
6)不使用NOTIN和<>操作
淘寶分庫分表機(jī)制:
淘寶根據(jù)訂單號做拆分的,下單有兩個維度,買家和賣家。
淘寶將訂單表拆分到16個mysql庫中,而在每個庫中又將訂單表拆分為64份,相稱于將一
張表拆分為1024份,事務(wù)進(jìn)行了分散,很大程度上提高了并發(fā)的事務(wù)處理能力。
因此買家和賣家怎么找到對應(yīng)口勺表呢?
對于16臺服務(wù)器,每臺服務(wù)器64張表只需要2位買家和賣家id的后兩位數(shù)字就可以精確
定位到詳細(xì)的庫和表。訂單號中同步存在買家id的最終兩位和賣家id的最終兩位。分別在
訂單號的倒數(shù)第3位,4位和最終兩位數(shù)。
4.RabbitMq消息隊(duì)列
此處要點(diǎn)是消費(fèi)者沒收到消息該怎么處理。
應(yīng)用進(jìn)程之間H勺通信措施
開發(fā)語言:Erlang-面向并發(fā)的編程語言。
AMQP是消息隊(duì)列的一種協(xié)議。
六種模式,只用五種
1、簡樸隊(duì)列
2、Work模式:兩個消費(fèi)者,能者多勞
3、訂閱模式
1、1個生產(chǎn)者,多種消費(fèi)者
2、每一種消費(fèi)者均有自己的一種隊(duì)列
3、生產(chǎn)者沒有將消息直接發(fā)送到隊(duì)列,而是發(fā)送到了互換機(jī)
4、每個隊(duì)列都要綁定到互換機(jī)
5、生產(chǎn)者發(fā)送的消息,通過互換機(jī),抵達(dá)隊(duì)列,實(shí)現(xiàn),一種消息被多種消費(fèi)者獲取的目的
注意:消息發(fā)送到?jīng)]有隊(duì)列綁定日勺互換機(jī)時,消息將丟失,由丁,互換機(jī)沒有存儲消息日勺能
力,消息只能存在在隊(duì)列中。
4、路由模式
amqp.gen-S9b..*
error
re
type=di5^^jnfoamqp.gen-Agl..
COY■AYA
生產(chǎn)者為消息指定類型,路由綁定不同樣的隊(duì)列,隊(duì)列指定接受的類型,只有類型匹配隊(duì)列
才接受。
TopicExchang?-將路由批和某視式進(jìn)行理。此時從方盛要?淀要一個橫式上]符號同一個或多個詞,符號一匹配不多不少一個詞?曠前婚陪
到-auditKscorporal,但是.auSt一只會工配到.初狽心、找在RcdHal的膽友1丁-?蒙F18的雷,泉衰明1然空擔(dān)機(jī)是JU何工柞的:
模式1:自動確認(rèn)
只要消息從隊(duì)列中獲取,無論消費(fèi)者獲取到消息后與否成功消息,都認(rèn)為是消息已經(jīng)成
功消費(fèi)。
模式2:手動確認(rèn)
消葫者從隊(duì)列中獲取消息后,服舞器會將該消息標(biāo)識為不可用狀態(tài),等待消假者的反饋,
假如消費(fèi)者?直沒有反饋,那么該消息將?直處在不可用狀態(tài)。
5.Spring的IOC和AOP的底層實(shí)現(xiàn)
IOC底層:工廠設(shè)計模式+XML技術(shù)+反射配置
AOP底層:動態(tài)代理
6.SSH中單例多例問題
三層構(gòu)造各用的是單例還是多例,為何,action層是單例還是多例,什么時候用多例。
單例多例重要看該層有無定義組員變量,定義了組員變量的話由于存在多線程的共同調(diào)用相
似變量因此要設(shè)置為多例,
scope屬性:bean的生命周期
singleton:單例(默認(rèn)值)(在初始化配置文獻(xiàn)的時候創(chuàng)立H勺對象,不是getBean。)
prototype:多例(在getBean()的時候創(chuàng)立對象)
<beanid=*'s5"class="cn.itcast.bean.Student"scope="singleton"x/bean>
<beanid="s5"class="cn.itcast.bean.Student"scope="prototype"x/bean>
結(jié)合項(xiàng)目中使用場景:
分層開發(fā)日勺時候:
dao對象:單例
biz對象:單例
action對象:必須多例的(屬性或模型驅(qū)動有數(shù)據(jù)共享,因此必須多例)
7.單例的書寫及多種模式的區(qū)別
面試官讓我手寫出一種單例模式并解釋多種模式歐I區(qū)別,此處最佳寫出雙重校驗(yàn)鎖模式。
〃雙重校驗(yàn)鎖寫法
classSingleDemoProblem4{
privateSingleDemoProblem4(){}
privatestaticSingleDemoProblem4sdp=null;
privatestaticObjectobj=newObject();
publicstaticSingleDemoProblem4getlnstance(){
/*設(shè)置雙重校驗(yàn)鎖防止多線程狀況下,某個線程進(jìn)來判斷變量為空進(jìn)入準(zhǔn)備創(chuàng)立
對象,但還沒創(chuàng)立CDU被搶走.
別日勺線程過來發(fā)現(xiàn)變量還是空又進(jìn)來創(chuàng)立對象,成果導(dǎo)致多種線程創(chuàng)立多種對象出
來*/
if(sdp==null){
synchronized(obj){
if(sdp==null){
sdo=newSingleDemoProblem4();
)
)
)
returnsdp;
)
}
餓漢式:在類加載時就創(chuàng)立對象,不管對象用不用都會創(chuàng)立,導(dǎo)致內(nèi)存H勺揮霍。但能保證對
象的唯一性。
懶漢式:只在使用的時候創(chuàng)立對象,多線程下不能保證每次使用的對象唯一。
8.SpringBuild和springBuffer時區(qū)別
聯(lián)絡(luò):兩者都是字符串緩沖區(qū)類,作用與功能相似,內(nèi)部啊措施也都相似.但使用場景不同樣.
區(qū)別:
StringBuffer是線程安全的但對「多線程效率低下(由「內(nèi)部用了synchronize關(guān)鍵字保證線
程安全,這樣必然犧牲了執(zhí)行效率)
StringBuilder安全性稍差,但對于多線程效率稍高
9.Mybatis中${}和#{}的區(qū)別
此處要點(diǎn)是注意哪種能防止sql注入,為何能防止sql注入。
在Mybatis的mapper中,參數(shù)傳遞有2種方式,一種是#0另一種是$0,兩者有著很大的區(qū)別:
”()實(shí)現(xiàn)的是sql語句的預(yù)處理參數(shù).之后執(zhí)行sql中用。號代替.使用時不需要關(guān)注數(shù)據(jù)類型.
Mybatis自動實(shí)現(xiàn)數(shù)據(jù)類型的轉(zhuǎn)換。并且可以防止SQL注入。
$0實(shí)現(xiàn)是sql語句的直接拼接,不做數(shù)據(jù)類型轉(zhuǎn)換,需要自行判斷數(shù)據(jù)類型。不能防止SQL注入
O
是不是$0就沒用了呢?不是的,有些情況下就必須使用$0,舉個例子:
在分表存儲的情況下,我們從哪張表查詢是不確定的,也就是說sql語句不能寫死,表名是動態(tài)
的,查詢條件的固定的,這樣:SELECT"FROM${tableName}WHEREid=#{id}
總結(jié),
到}占位符,用于參數(shù)傳遞。
${}用于SQ助接.
10.線程池問題
問你用的線程池引用的I哪個包。
加…門類提供了用于此包中所提供的執(zhí)行程序服務(wù)的工廠方法,
和線程池有關(guān)H勺幾種概念:
最大容量:一種線程池中最多可以保留的線程數(shù)量;
最小容量:一種線程池中,至少保留的線程數(shù)量;
最大存活時間:i種線程最多可以保持空閑II勺時間;假如超過這個時間,一般這個線程就會
被銷毀;
線程的某些面試問題要多理解。
ILLinux怎么查看文獻(xiàn)內(nèi)容的前10行,怎么查看進(jìn)程
Linux你肯定不能說不懂得,說理解一點(diǎn),然后他會問你某些常用指令,因此要記住某些常
用的指令。有的答不出來就說平時用的J不多,并且平時不會就會上網(wǎng)查。
1、Netstat-an|grep80查看端口信息
2、Vim中:/內(nèi)容直接搜索內(nèi)容
3、Ps-ef|grepredis杳看服務(wù)端II進(jìn)程
4、servicenetworkrestart重啟網(wǎng)絡(luò)服務(wù)
5、tail-200fcatalina.log動態(tài)顯示日志最終200行
6、head-n10catalina.log查看前10行命令
7、tar-zcvfabc.tar.gz*壓縮目前目錄卜所有文獻(xiàn),壓縮后文獻(xiàn)名為
tar-zxvfabc.tar.gz-C/usr/local/xixi/解壓到指定目錄中記得指定目錄前
面加-C
8、查找文獻(xiàn)
查找的是腳本文獻(xiàn)(執(zhí)行文獻(xiàn))whichfilename
查找的I是二進(jìn)制H勺文獻(xiàn)(執(zhí)行文獻(xiàn))whereis-bfilename
查找特定文獻(xiàn)whereisfilename(運(yùn)用數(shù)據(jù)庫來查找)
12>eclipse快捷鍵
Alt+Shift+M任意選中一塊代碼,自動轉(zhuǎn)換為措施,自動添加參數(shù)返回類型。
ctrl+shift+x轉(zhuǎn)為大寫ctrl-shift+y轉(zhuǎn)為小寫
13、hashmap和hashtableaI區(qū)另!]
I--:HashMap:是開發(fā)中,吏用最多的一種m叩集合類;在它的底層使用哈希表保留數(shù)據(jù)(數(shù)
據(jù)是無序歐I):它的鍵和值容許使用null;是線程不安全的;
|…:LinkedHashMap:是HashMap日勺子類,重要操作和HashMap同樣;不同樣日勺是,在底
層使用哈希表和鏈表保留數(shù)據(jù),哈希表負(fù)責(zé)保留數(shù)據(jù)和維護(hù)數(shù)據(jù)的唯一性,鏈表負(fù)責(zé)記錄數(shù)
據(jù)添加的次序;因此它和HashMap不同樣之處是,它的數(shù)據(jù)是有序口勺(添加和迭代的次序
同樣);
實(shí)際上,在HashSet底層就是使用H勺HashMap實(shí)現(xiàn)的;LinkedHashSet底層使用的是
LinkedHashMap實(shí)現(xiàn);
I--:HashTable:出現(xiàn)B勺比較早,在JDK1.1版本就出現(xiàn);它的重要操作和HashMap同樣,
不同樣之處在于,HashTable是線程安全日勺,效率比較低;它不容許使用null做鍵或值;在
實(shí)際開發(fā)中目前被HashMap取代;
I-:Properties:重要保留Key-Value的集合,在開發(fā)中重要用來操作配置文獻(xiàn)(文獻(xiàn)中的
配置信息都是鍵值對時形式)到I。流在學(xué);
I--:TreeMap:底層使用二又樹實(shí)現(xiàn),它保留的數(shù)據(jù),在保留的時候鍵都是有序W、J;
此處還問了--種課堂沒講過歐j實(shí)現(xiàn)類可取代hashTable,它是ConcurrentHashMap,這個自己
可做下理解。
ConcurrentHashMap與HashTable都可以用「多線程日勺環(huán)境,不過當(dāng)Hashtable日勺大小增長到
一定的時候,性能會急劇下降,由于迭代時需要被鎖定很長R勺時間。由于ConcurrentHashMap
引入了分割(segmentation),不管它變得多么大,僅僅需要鎖定mapH勺某個部分,而其他H勺
線程不需要等到迭代完畢才能訪問mapo簡而言之,在迭代FI勺過程中,ConcurrentHashMap
僅僅鎖定mapU勺某個部分,而Hashtable則會鎖定整個map。
HashTable雖然性能上不如ConcurrentHashMap,但并不能完全被取代,兩者的迭代器H勺一
致性不同樣的,HashTableI時迭代器是強(qiáng)一致性”勺,而ConcurrentHashMap是弱一致的。
ConcurrentHashMapget,clear,iterator都是弱一致性的。
14、ArrayList怎么去重
巧妙運(yùn)用hashSet不能存儲反復(fù)元素的原理,把a(bǔ)rrayLis:放到hashSet中再放I可arrayLst即
嘰
15、說說垃圾處理機(jī)制
大體理解,能說出一點(diǎn)即可
目前使用於JJava虛擬機(jī)并不是只是使用一種內(nèi)存回收機(jī)制,而是分代搜集的J算法。就是將
內(nèi)存根據(jù)對象存活口勺周期劃分為幾塊。一般是把堆分為新生代、和老年代。短命對象寄存在
新生代中,長命對象放在老年代中。
對于不同樣的代,采用不同樣的搜集算法:
新生代:由于存活的對象相對比較少,因此可以采用復(fù)制算法該算法效率比較快。
老年代:由于存活的I對象比較多哈,可以采用標(biāo)識?清除算法或是標(biāo)識?整頓算法
16、與否寫過mysql的存儲過程
mysql執(zhí)行語句是要先編譯,然后再執(zhí)行的。這樣假如查詢并發(fā)大的時候。會揮霍諸多資源
和時間。導(dǎo)致mysql進(jìn)程占用資源過多,癥狀就是慢。
但存儲過程可以把某些尤其H勺語句封裝成一種措施,再編譯好成一種可以執(zhí)行的措施,對
外只要接受參數(shù)就可以了,這樣就不用再編譯。執(zhí)行就快了
什么時候會用到?你覺得你數(shù)據(jù)庫由于同步出現(xiàn)太多讀寫操作而變得慢,那么就要用了。
17、JDBC底層環(huán)節(jié)
1、注冊驅(qū)動..
Class.forNameCcom.mysql.jdbc.Driver");
2、獲得型據(jù)庫連接
Connectionconn=DriverManager.getConnection(url,user,password)
3、創(chuàng)建向數(shù)據(jù)庫發(fā)送sql的statement對盤
Statementstmt=conn.CreateStatement();
4、向數(shù)據(jù)庫發(fā)送sq]
Resultsetrs=stmt.executeQuery(sql);//select語句
intupdateSum=stmt.executeUpdate(sql);//insertsupdate、delete語句
5、處理結(jié)果集
while(rs.nextO){
rs.getString(列名或者列的別名)
rs.getlnt(列卸
6、關(guān)閉資源
rs.closeO;
stmt.closeO;
conn.closet);
18、Jvm機(jī)制及類附加載過程
棧區(qū),堆區(qū),措施區(qū)
類加載次序:
類加載時先在措施區(qū)中為類開辟一種空間.非靜態(tài)組員加載到非靜態(tài)區(qū)域,靜態(tài)絹員加載到
靜態(tài)區(qū)域,為靜態(tài)組員變量分派空間并賦默認(rèn)值,然后執(zhí)行靜態(tài)代碼塊或顯示賦值,賦值完
畢類加載結(jié)束。
對象創(chuàng)立過程:
碰到new關(guān)鍵字在堆中開辟?種空間,為非靜態(tài)組員變量分派空間并賦默認(rèn)值,執(zhí)行構(gòu)造
函數(shù)先看有無this語句調(diào)用其他構(gòu)造函數(shù),沒有就執(zhí)行隱式三步:1、執(zhí)行父類構(gòu)造函數(shù),2、
為非靜態(tài)組員變量顯示賦值,3、執(zhí)行構(gòu)造代碼塊。結(jié)束后執(zhí)行構(gòu)造函數(shù)體中的內(nèi)容,執(zhí)行
完對象創(chuàng)立結(jié)束。
19、抽象類和接口的區(qū)別
共同點(diǎn):都可以有抽象函數(shù),都不能被實(shí)例化。
區(qū)別:
申明上:抽象類,class:接口interface
書寫組員:抽象類,書寫任何類組員;接口:只能書寫組員變量和函數(shù)
有無構(gòu)造函數(shù):抽象類,有構(gòu)造函數(shù);接口:沒有構(gòu)造函數(shù)。
作用上:抽象類是描述的繼承體系中的共同的特性和行為,假如行為不確定,就定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個人定融合同相關(guān)法律法規(guī)解讀
- 借款協(xié)議書范本含抵押及保證條款
- OEM代工合同范本及風(fēng)險防范
- 大學(xué)新生入學(xué)教育與適應(yīng)性指導(dǎo)方案
- 商務(wù)合同風(fēng)險防范策略
- 小學(xué)英語口語教學(xué)專項(xiàng)方案
- 自動扶梯大修施工方案
- 綜合監(jiān)控管理平臺設(shè)計方案
- 快遞上門服務(wù)合同條款
- 同城緊急安全配送協(xié)議
- 外賣平臺2025年商家協(xié)議
- 家園共育背景下幼兒良好生活習(xí)慣與能力的培養(yǎng)研究
- 四川省高等教育自學(xué)考試自考畢業(yè)生登記表001匯編
- 《毛遂自薦》成語故事
- 美容行業(yè)盈利分析
- 小班化教學(xué)和合作學(xué)習(xí)
- 《繼發(fā)性高血壓》課件
- 垃圾中轉(zhuǎn)站運(yùn)營管理投標(biāo)方案
- 數(shù)字媒體與數(shù)字廣告
- 綜合樓裝飾裝修維修改造投標(biāo)方案(完整技術(shù)標(biāo))
- 中藥現(xiàn)代化生產(chǎn)技術(shù)課件
評論
0/150
提交評論