




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、android網(wǎng)絡(luò)編程面試題,Android面試題整理Android方面:3、內(nèi)存優(yōu)化(內(nèi)存泄漏、內(nèi)存溢出),如何查找內(nèi)存泄漏,如何優(yōu)化內(nèi)存泄露:是指程序在申請(qǐng)內(nèi)存后,無法釋放本應(yīng)該被回收的內(nèi)存。內(nèi)存泄露的堆積就會(huì)導(dǎo)致內(nèi)存溢出。內(nèi)存溢出:是指程序在申請(qǐng)內(nèi)存時(shí),沒有足夠的內(nèi)存空間供其使用。查找內(nèi)存泄露:1、使用AS自帶的內(nèi)存分析界面,可以查看內(nèi)存使用情況(藍(lán)色區(qū)域表示程序使用的內(nèi)存,灰色區(qū)域表示空閑內(nèi)存)內(nèi)存泄露的原因以及解決方法:1、靜態(tài)的上下文,比方static Context context,應(yīng)該盡量防止靜態(tài)上下文的使用;2、未取消注冊(cè)或者監(jiān)聽,比方BrocastReceiver和Even
2、tBus需要在Activity的。nDestroy中取消注冊(cè);3、資源沒有關(guān)閉或者釋放,比方10、File流或者Cursor在操作完成后沒有及時(shí)關(guān)閉;4、耗時(shí)任務(wù)或者屬性動(dòng)畫沒有取消,比方屬性動(dòng)畫需要在Activity的onDestroy中取消;5、Web View造成內(nèi)存泄露,Web View也需要在Activity的on Destroy中調(diào)用它的destroy。方法4、Activity啟動(dòng)模式及區(qū)別有以下四種啟動(dòng)模式:standard、 singleTopx singleTasks singlelnstanceo1、standard標(biāo)準(zhǔn)模式也是系統(tǒng)默認(rèn)模式。在該模式下,每次啟動(dòng)一個(gè)Acti
3、vity都會(huì)創(chuàng)立一個(gè)新的實(shí)例,不管這個(gè)實(shí)例是否已經(jīng)存在。并且誰啟動(dòng)了這個(gè)Activity,那么這個(gè)A ctivity就運(yùn)行在啟動(dòng)它的那個(gè)Activity所在的棧中。比方One Activity啟動(dòng)了T wo Activity(Two A ctivity 是標(biāo)準(zhǔn)模式),貝 IjT wo A ctivity 就會(huì)進(jìn)入至 ij Ona A ctivity 所在的棧中。2、singleTop棧頂模式具體分為以下兩種情況:如果被啟動(dòng)的Activity已經(jīng)存在且位于棧頂,那么該Activity就不會(huì)重建,而是調(diào)用其onNewlntentO方法重用該實(shí)例。如果被啟動(dòng)的Activity已經(jīng)存在但不是位于棧頂,
4、那么就會(huì)重新創(chuàng)立該Activity的實(shí)例。3、singleTask棧內(nèi)模式具體分為以下三種情況:3. k如果被啟動(dòng)的Activity所需的任務(wù)棧不存在,就會(huì)先創(chuàng)立該Activity所需的任務(wù)棧,然后再創(chuàng)立該A ctivity的實(shí)例并將它加入到任務(wù)棧中。2、如果被啟動(dòng)的Activity所需的任務(wù)棧存在且該任務(wù)棧中不存在該Activity的實(shí)例,就會(huì)創(chuàng)立該Activity的實(shí)例并將它加入到任務(wù)棧中。如果被啟動(dòng)的Activity所需的任務(wù)棧存在且該任務(wù)棧中存在該Activity的實(shí)例。那么有以下兩種情況:1、如果該Activity位于任務(wù)棧的棧頂,那么該Activity不會(huì)重建,系統(tǒng)會(huì)調(diào)用其on N
5、e wlntentO方法重用該實(shí)例;2、 EventBus3、3、Retrofit4、Ok Http5、Glide2、Ok Http的原理3、Picasso緩存機(jī)制算法方面:算法方面:1、冒泡排序假設(shè)無序數(shù)組為6, 1, 2, 7, 9, 3, 4, 5, 10, 8當(dāng)i = 0時(shí),進(jìn)行第一次內(nèi)部比擬1、1、第一次循環(huán)后的結(jié)果是1,6,2,7,9,3,4,5,10,82、第二次循環(huán)后的結(jié)果是1,2,6,7,9,3,4,5,10,83、第三次循環(huán)后的結(jié)果是1,2,6,7,9,3,4,5,10,84、第四次循環(huán)后的結(jié)果是1,2,6,9,3,4,5,10,85、第五次循環(huán)后的結(jié)果是1,2,6,9,4
6、,5,10,86、第六次循環(huán)后的結(jié)果是,2,6,3,9,5,10,87、第七次循環(huán)后的結(jié)果是1,2,6,7,3,5,9,10,88、第八次循環(huán)后的結(jié)果是1,2,6,3,5,9,10,89、第九次循環(huán)后的結(jié)果是,2,6,3,4,5,9,8, 10=1時(shí),進(jìn)行第一次內(nèi)部比擬=1時(shí),進(jìn)行第一次內(nèi)部比擬intintnu m b er二 new intl 0 6,1, 2,7, 9,3,4,5, 10, 8;int te mp = 0;int te mp = 0;for (int i0; i num b er.length - 1; i+) for (int j = 0; j num b erj + 1
7、) nu m b er j = numb erj + 1;nu m b erj + 1 - tern p;3、兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列思路:因?yàn)殛?duì)列是先進(jìn)先出,而棧是先進(jìn)后出Stack stack 1 = new StackO;Stack stack2 = new StackO;/入列public void push (int node) stack 1. push(node);:l/出列public int pop 0 if (stack2. sizeO 0) stack2. push(stackl. popO);)return stack2. pop();)4、斐波那契數(shù)列斐波那契數(shù)列通項(xiàng)公式:
8、f(l) = 1;f(2) = 1;f(n) = f(n - 1) + f(n - 2) ( n = 3) public int Fibonacci (int n) if (n = 0) return 0;:lif (n = 1 11 n = 2) return 1;/ f(n)int a = 0;/ f(n - 1)int b = 1;/ f(n- 2)int c = 1;for Gnt i = 3; i StringBuffer Stringo2、線程平安。StringBuilder是線程不平安的,而StringBuffer是線程平安的。因?yàn)镾tringBuffer中很多方法帶有 sync
9、hronized關(guān)鍵字,可以保證是線程平安的。所以在多線程情況下建議使用StringBuffer,確保線程平安,但是在單線程的情況下,建議使用StringBuilder,因?yàn)閳?zhí)行速度更快。3、Hash Map x HaseSetx HashTablex ConcurrentIIashM a p x LinkHash Map的區(qū)另1、Hase Map儲(chǔ)存是無序不重復(fù)的,允許key和value為null位口果key為null,那么會(huì)在代碼里面將null保存為0),是線程不平安的。2、Hash Set內(nèi)部其實(shí)是用的Hash M ap作為數(shù)據(jù)的保存,儲(chǔ)存的只是map的key,默認(rèn)value為null廝
10、以Hash Set也是無序不重復(fù)的,也允許key為null的,也是線程不平安的)3、HashTable儲(chǔ)存無序不重復(fù)的,不允許key和value為null,通過synchronized關(guān)鍵字保證線程平安4、ConcurrentHash Map儲(chǔ)存無序不重復(fù)的,不允許key和value為null,通過volatile關(guān)鍵字保證線程平安5、LinkHash Map繼承至Hash Map,通過一個(gè)雙向鏈表保存了元素的儲(chǔ)存順序(所以LinkHash Map也允許key為null的,也是線程不平安 的)。Kotlin方面:1、 const和val的區(qū)另ijconst只能修飾val,不能修飾var。con
11、st val的可見性是public final static,可以直接方法;val的可見性是private final static,并且val會(huì)生成get Nor m al Object。,通過方法調(diào)用。2、kotlin閉包3、run、apply、let、also、with的用法和區(qū)別Linux方面:K修改權(quán)限的命令ch m o d 7 7 7r表示read,讀取權(quán)限,代表數(shù)字4w表示write,寫入權(quán)限,代表數(shù)字2 x表示execute,執(zhí)行權(quán)限,代表數(shù)字13.2,如果該Activity不是位于任務(wù)棧的棧頂,那么該Activity不會(huì)重建,系統(tǒng)會(huì)調(diào)用其on Ne wintent0方法重用該
12、實(shí)例并且清除任務(wù)棧中該Activity之上所有的Activity實(shí)例。4、singlelnstance單例模式該模式具備singleTask所有特性。具體分為以下兩種情況:如果被啟動(dòng)的Activity不存在,系統(tǒng)先會(huì)創(chuàng)立一個(gè)全新的任務(wù)棧,然后再創(chuàng)立該Activity實(shí)例并將它加入 到新的任務(wù)棧棧頂。如果被啟動(dòng)的Activity已經(jīng)存在,那么無論它位于哪個(gè)應(yīng)用程序,哪個(gè)任務(wù)棧,系統(tǒng)都會(huì)把該Activity 所在的任務(wù)棧切換前臺(tái),從而使該Activity顯示出來。注意:采用singlelnstance加載模式的Activity總是位于任務(wù)棧棧頂,并且該任務(wù)棧中只包含該Activity實(shí)例。1、提高
13、進(jìn)程的優(yōu)先級(jí)2、利用廣播拉活A(yù)ctivity6、Activity啟動(dòng)過程7、動(dòng)畫1、Android的動(dòng)畫可以分為三種:View動(dòng)畫、幀動(dòng)畫、屬性動(dòng)畫。8、UI(同一張圖片放在不同dpi中,加載內(nèi)存的大小有何不同)9、Handler的原理,手寫兩個(gè)子線程Handler通信,loop wait時(shí)如何喚醒的Handler原理:Handler主要是由Loop er和Message Qu ene構(gòu)建消息的處理。Loo per負(fù)責(zé)循環(huán)從Message Quene中讀取消息, 如果有就交給Handler處理,如果沒有就一直等待。Message Quene負(fù)責(zé)消息的插入和讀取,里面維護(hù)了一個(gè) 單向鏈表,根據(jù)消
14、息的執(zhí)行時(shí)間排列(即最先被執(zhí)行的在鏈表前面)。兩個(gè)子線程Handl er通信public Handler m 11 andler;new Thread (ne w unnableO ( 0 v erridepublic void run() Looper. prepareO;m H andler = new HandlerO Overridepublic void handleM e ssage( Message msg) super, handle Message (msg);Log. eCgybguohaoVmsg. obj = + msg. obj);Looper.loopO;). st
15、art0;new Thread(new RunnableO 0 v erride public void run() M e ssage msg = mHandler, obtain Me ssageO;m s g. obj=這是從第二個(gè)子線程過來的消息;m H andler. send M e ssage(msg);). start0;1 0s Context類11、熱更新12、WebView優(yōu)化,及H5的js調(diào)用W e b View的優(yōu)化:Is第一次翻開WebView時(shí)間過長,可以在合適的時(shí)候創(chuàng)立一個(gè)全局的Web View供所有頁面使用;2、設(shè)置Web View的文件緩存,加快加載速度。H
16、5的js調(diào)用:1、首先設(shè)置允許與 JS 交互 web Settings, setjava Seri pt Enab led (true);2、添力口交互接口 m W e b View. addjavascriptlnterface(new JsCo m mu nicate 0, App);3、在JsCo m m u nicate類中通過注解J avascriptinterface定義具體的交互方法;4、js端通過window. App.方法名0調(diào)用對(duì)應(yīng)的方法。13、性能優(yōu)化1、應(yīng)用啟動(dòng)速度優(yōu)化,防止在自定義Application類中做過多耗時(shí)的操作;2、減少布局多層嵌套,防止GPU過度繪制,使
17、用merge減少布局嵌套;3、盡量減少APK的大小,刪除無用代碼和資源,重復(fù)布局盡量采用include ;4、內(nèi)存優(yōu)化,及時(shí)釋放內(nèi)存,防止內(nèi)存泄露;5、防止無用的網(wǎng)絡(luò)請(qǐng)求,給用戶造成流量的浪費(fèi)。14、Bi nd er 機(jī)制Android Binder是用來做進(jìn)程通信的,Android的各個(gè)應(yīng)用以及系統(tǒng)服務(wù)都運(yùn)行在獨(dú)立的進(jìn)程中,它們的通信都依賴 于 Binder。15、65536是怎么回事?如何解決表示方法數(shù)超過了 65536個(gè)解決方法:1、在工程的build gradle文件下defaultConfig閉包中配置 m ultiDexEnabled true2、在depend6ncies下添力依
18、賴i mple m entation,co m. android, support: multidex: 1. 0.3、在自定義的 Application類中重寫attach Base Context 方法,并且執(zhí)行 M ultiDex. install (this)代碼。 0 v erridepu blic void attachBase C o nt ext (Context base) super, attach Bas eC o nt ext (base);M ultiDex. install (this);!16、LruCache原理LruCache的全稱是Least Recentl
19、y Used,也就是最近最少使用算法。17、斷點(diǎn)續(xù)傳18、主線程Lopper為什么不會(huì)ANR因?yàn)锳ndroid是由事件驅(qū)動(dòng)的,looper.loopO不斷地接收事件、處理事件,每一個(gè)點(diǎn)擊觸摸或者說Activity的 生命周期都是運(yùn)行在Looper.loopO的控制之下,如果Looper停止了,應(yīng)用也就停止了。只能是某一個(gè)消息或者 說對(duì)消息的處理阻塞了 Looper.loopO ,而不是Looper.loop 0阻塞它。19、AIDLJava方面:1、線程平安、多線程通信、同步方式線程平安:在多線程環(huán)境下對(duì)共享資源的訪問,保證此共享資源的一致性。線程平安問題多是由全局變量和靜態(tài)變量引起的,當(dāng)多個(gè)
20、線程對(duì)共享數(shù)據(jù)只執(zhí)行讀操作,不執(zhí)行寫操作時(shí),一般是線程平安的;當(dāng)多個(gè)線程都執(zhí)行寫操作時(shí),需要考慮線程同步來解決線程平安問題。多線程通信:1、全局變量2、HandlerAsyncTaskEventBus同步方式:1、使用synchronized關(guān)鍵字(同步方法和同步代碼塊)2、線程池的原理3、進(jìn)程間通信方式1、BinderIntent3、ContentProvider 4、 AIDL4、進(jìn)程和線程區(qū)別一個(gè)程序至少一個(gè)進(jìn)程,一個(gè)進(jìn)程至少一個(gè)線程。進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的最小單位,比方分配內(nèi)存。線程是程序執(zhí)行的最小單位,可以與同屬一個(gè)進(jìn)程的其他的線程共享該進(jìn)程所擁有的全部資源。5、sleep和
21、wait區(qū)別1、sleep是Thread類的方法,wait是object類的方法;2、sleep方法沒有釋放鎖所以不能調(diào)用里面的同步方法。而wait方法釋放了鎖,使得其他線程可以調(diào)用里面的同步方法。4、sleep必須捕獲異常,而wait不需要捕獲異常6、堆和棧的區(qū)別1、堆中存儲(chǔ)的是對(duì)象2、棧中存儲(chǔ)的是局部變量final可以修飾類、方法、變量(包括成員變量和局部變量)1、final修飾類,表示這個(gè)類不能被繼承,并且該類中所有的成員方法會(huì)被隱式的指定為final方法;2、final修飾方法,該方法在子類中不能重寫,只能繼承;3、final修飾變量,如果是基本數(shù)據(jù)類型的變量,那么其數(shù)值一旦在初始化之
22、后便不能更改;如果是引用類型的變量,那么在對(duì)其初始化之后便不能再讓其指向另一個(gè)對(duì)象8、簡單描述封裝、繼承、多態(tài)1、封裝:將事物的屬性和實(shí)現(xiàn)細(xì)節(jié)隱藏起來,只對(duì)外提供訪問和修改接口(例如set和get方法);2、繼承:當(dāng)多個(gè)類具有相同的屬性和方法時(shí),可以將相同局部抽取出來放到一個(gè)類中作為父類,其他的類繼承這個(gè)父類。3、多態(tài):方法的重寫和重載是Java多態(tài)性的不同表現(xiàn)。重寫是父類與子類之間多態(tài)性的一種表現(xiàn),重載是一個(gè)類中多態(tài)性的一種表現(xiàn)。9、二二和equals的區(qū)另I1、對(duì)于基本數(shù)據(jù)類型比擬的是它們的值是否相等;2、對(duì)于對(duì)象比擬的是它們是否是同一個(gè)對(duì)象(即內(nèi)存地址是否相同);equals :1、eq
23、uals比擬的是值是否相等10、java基本數(shù)據(jù)類型和區(qū)別基本數(shù)據(jù)類型:1、byte : Java中最小的數(shù)據(jù)類型,1個(gè)字節(jié),取值范圍281 2 7,默認(rèn)值02、short :短整型,2個(gè)字節(jié),取值范圍-3276832767,默認(rèn)值03、int:整型,4個(gè)字節(jié),取值范圍-2147483648、2 1 47483647,默認(rèn)值04、long:長整型,在內(nèi)存中占64位,即8個(gè)字節(jié)-2飛32飛3-1,默認(rèn)值0L5、float:浮點(diǎn)型,4個(gè)字節(jié),與double的區(qū)別在于float類型有效小數(shù)點(diǎn)只有6、7位,默認(rèn)值06、double :雙精度浮點(diǎn)型,8個(gè)字節(jié),默認(rèn)值07、char:字符型,2個(gè)字節(jié),取值
24、范圍065535,默認(rèn)值為空8、boolean :布爾類型,占1個(gè)字節(jié),用于判斷真或假,默認(rèn)值false引用數(shù)據(jù)類型:1、類、接口類型、數(shù)組類型、枚舉類型、注解類型。區(qū)別:1、基本數(shù)據(jù)類型在被創(chuàng)立時(shí),在棧上給其劃分一塊內(nèi)存,將數(shù)值直接存儲(chǔ)在棧上。2、引用數(shù)據(jù)類型在被創(chuàng)立時(shí),首先要在棧上給其弓I用分配一塊內(nèi)存,而具體對(duì)象存儲(chǔ)在堆內(nèi)存上,然后由棧上面的引用指向堆中對(duì)象的地址。11、如何實(shí)現(xiàn)一個(gè)死鎖1 2、synchronized的實(shí)現(xiàn)原理Java內(nèi)存模型三大性質(zhì):可見性、原子性和有序性。1、可見性:是指線程之間的可見性,一個(gè)線程修改的狀態(tài)對(duì)另一個(gè)線程是可見的,volatile修飾的變量不允許線程內(nèi)
25、部緩存和重排序,即直接修改內(nèi)存,所以對(duì)其他線程是可見的。但是這里需要注意一個(gè)問題,volatile只能讓被它修飾內(nèi)容具有可見性,但不能保證它具有原子性。2、原子性:原子是世界上的最小單位,具有不可分割性。3、有序性:Java語言提供了 volatile和synchronized兩個(gè)關(guān)鍵字來保證線程之間操作的有序性,volatile是因?yàn)槠浔旧戆敖怪噶钪嘏判颉钡恼Z義,synchronized是由“一個(gè)變量在同一個(gè)時(shí)刻只允許一條線程對(duì)其進(jìn)行l(wèi)ock操作”這條規(guī)那么獲得的,此規(guī)那么決定了持有同一個(gè)對(duì)象鎖的兩個(gè)同步塊只能串行執(zhí)行。volatile變量用來確保將變量的更新操作通知到其他線程。當(dāng)把變
26、量聲明為volatile類型后,編譯器與運(yùn)行時(shí)都會(huì) 注意到這個(gè)變量是共享的,因此不會(huì)將該變量上的操作與其他內(nèi)存操作一起重排序。volatile變量不會(huì)被緩存在寄存器 或者對(duì)其他處理器不可見的地方,因此在讀取volatile類型的變量時(shí)總會(huì)返回最新寫入的值。在訪問volatile變量時(shí)不會(huì)執(zhí)行加鎖操作,因此也就不會(huì)使執(zhí)行線程阻塞,因此volatile變量是一種比sychronized關(guān)鍵字更輕量級(jí)的同步機(jī)制。聲明變量是volatile的,JVM保證了每次讀變量都從內(nèi)存中讀,跳過CPU cache這一步。14、子類重寫父類方法,返回值和參數(shù)有什么要求1、方法名和參數(shù)類型及個(gè)數(shù)都不可以修改2、可以講
27、方法的權(quán)限修飾符改為更寬松的,比方父類中的方法是protected的,那么子類中的方法可以是public的3、當(dāng)返回值為類類型時(shí),重寫的方法可以修改返回值類型,但必須是父類方法返回值的子類;要么就不修改,與父 類返回值類型相同框架搭建:1、MVC和MVP的區(qū)別1、MVC中無法區(qū)分Activity到底是V還是C,因?yàn)樗闯挟?dāng)了界面的顯示,又負(fù)責(zé)一局部邏輯的處理;2、MVP中V和M不存在直接聯(lián)系,而是通過P來交互。P和V以及P和M之間通過接口來交互,從而降低了代碼的耦合度。2、手寫MVP框架(用戶登錄)public class LoginA ctivity extends AppCo m pat
28、Activity imple ments LoginView private LoginPresenter mLo gin Present er; 0 v errideprotected void onCreate(Bundle savedlnstanceState) super, on Create (save dlnstance St ate);set Content View (R. layout activity_ main);m L o gin Presenter = new LoginPresenter(thi s);/請(qǐng)求登錄m LoginPresenter.loginCl88x
29、xxx6 1 1 0,“123 4 5 6);) Overridepublic void loginSuccess(Login Model model) Overridepublic void loginFailGnt code, int msg) )public interface Login Vie w() void loginSuccess(Login M o del model);void loginFail(int code, int msg);!public class LoginPresenter public LoginView m View;pu blic Lo ginPr
30、esent er (Login Vie w vi ew) this mView = view;)public void login(String phone, String password) Net Client getlnstance0.1ogin(ne w BaseCallbackO Overridepublic void onSuccess(LoginModel mod el) m Vie w. loginSuccess( mo del); 0 v erridepu blic void onF ail (in t code, int msg) m Vie w. loginSuccess(code, msg);)()!)MVVM框架A n droid的M V V M框架主要是通過DataB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- LY/T 3408-2024林下經(jīng)濟(jì)術(shù)語
- 【假期提升】五升六語文暑假作業(yè)(七)-人教部編版(含答案含解析)
- 緊急任務(wù) 面試題及答案
- 2025年軍隊(duì)文職人員招聘之軍隊(duì)文職法學(xué)考前沖刺模擬試卷A卷含答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備中級(jí)技能題庫綜合試卷A卷附答案
- 遺產(chǎn)繼承房產(chǎn)過戶合同
- 汽車運(yùn)輸合同協(xié)議書
- 語言學(xué)與文化差異閱讀理解題
- 信息技術(shù)支持下的農(nóng)業(yè)智能生產(chǎn)合作協(xié)議
- 陜西省渭南市富平縣2024-2025學(xué)年八年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 中考心理減壓輔導(dǎo) 中考前心理健康教育主題班會(huì)
- 小學(xué)四年級(jí)心理健康教育課
- 【上市公司的財(cái)務(wù)風(fēng)險(xiǎn)的分析和防范:以三只松鼠為例10000字(論文)】
- 部編版小學(xué)語文四年級(jí)下冊(cè)教師教學(xué)用書(教學(xué)參考)完整版
- 幼兒園消防安全知識(shí)競賽試題及答案
- 莫高窟群文閱讀教學(xué)設(shè)計(jì)
- 樂理視唱練耳簡明教程課后習(xí)題答案
- 2023年10月自考試題02398土力學(xué)及地基基礎(chǔ)
- 農(nóng)業(yè)領(lǐng)域的服務(wù)禮儀
- 高壓旋噴樁加固工程施工方案
- 【鹽津鋪?zhàn)庸境杀竟芾憩F(xiàn)狀、問題及對(duì)策】10000字
評(píng)論
0/150
提交評(píng)論