㈠ 建立一個數據結構(ios開發面試題)
1.
淺復制和深復制的區別?
答案:淺層復制:只復制指向對象的指針,而不復制引用對象本身。
深層復制:復制引用對象本身。
意思就是說我有個A對象,復制一份後得到A_對象後,對於淺復制來說,A和A_指向的是同一個內存資源,復制的只不過是是一個指針,對象本身資源
還是只有一份,那如果我們對A_執行了修改操作,那麼發現A引用的對象同樣被修改,這其實違背了我們復制拷貝的一個思想。深復制就好理解了,內存中存在了
兩份獨立對象本身。
用網上一哥們通俗的話將就是:
淺復制好比你和你的影子,你完蛋,你的影子也完蛋
深復制好比你和你的克隆人,你完蛋,你的克隆人還活著。
2.類別(category)的作用?繼承和類別在實現中有何區別?
答案:category 可以在不獲悉,不改變原來代碼的情況下往裡面添加新的方法,只能添加,不能刪除修改。
並且如果類別和原來類中的方法產生名稱沖突,則類別將覆蓋原來的方法,因為類別具有更高的優先順序。
類別主要有3個作用:
(1)將類的實現分散到多個不同文件或多個不同框架中。
(2)創建對私有方法的前向引用。
(3)向對象添加非正式協議。
繼承可以增加,修改或者刪除方法,並且可以增加屬性。
3.
類別(category)和類擴展(extension)的區別。
答案:category和extensions的不同在於 後者可以添加屬性。另外後者添加的方法是必須要實現的。
extensions可以認為是一個私有的Category。
㈡ iOS面試題有哪些
iOS面試題主要有:
1、多線程、特別是NSOperation 和 GCD 的內部原理。
2、運行時機制的原理和運用場景。
3、SDWebImage的原理。實現機制。如何解決TableView卡的問題。
4、block和代理的通知的區別。block的用法需要注意些什麼。
5、strong,weak,retain,assign, nomatic 等的區別。
6、設計模式,mvc,單利,工廠,代理等的應用場景。
7、單利的寫法。在單利中創建數組應該注意些什麼。
8、NSString 的時候用和strong的區別。
9、響應值鏈。
10、NSTimer 在子線程中應該手動創建NSRunLoop ,否則不能循環執行。
11、UIScrollView和NSTimer組合做循環廣告圖輪播的時候有一個屬性可以控制當上下滾動tableview的時候廣告輪播圖依然正常滾動。
12、Xcode最新的自動布局。
13、git ,和svn的用法,git的幾個命令。
14、友盟報錯可以查到具體某一行的錯誤,原理是什麼。
15、Instrument 可以檢測 電池的耗電量、和內存的消耗。的用法。
16、動畫CABaseAnimation CAKeyAni…. CATrans….. CAGoup…. 。
17、ARC的原理。
㈢ 資料庫面試題:
create database aaa;
create table users(id int NOT NULL AUTO_INCREMENT,
user_name char(10),money char(10),add_time datetime
PRIMARY KEY (`id`))ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
3.insert into users values(2,'a1','a11',current_date),(3,'a1','a11',current_date),(4,'a1','a11',current_date),(5,'a1','a11',current_date),(6,'a1','a11',current_date),(7,'a1','a11',current_date),(8,'a1','a11',current_date),(9,'a1','a11',current_date),(10,'a1','a11',current_date),(11,'a1','a11',current_date);
4.參考第二步
5.參考第三步
6.select a.username,a.money,b.email,b.user_phone,b.weigh from users a,user_info b
where a.id=b.id and a.id=XXX(你指定的);
7.mysqlmp -uroot -p aaa > /tmp/aaa.sql (需要輸入密碼)
我用的是mysql上的寫法
㈣ oracle資料庫面試題,如下,求解!
1
proct主鍵id
顧客表主鍵acid
商品交易表為聯合主鍵(acid+id),同時acid和id分別是顧客表和商品表的外鍵
2
selectb.acname,b.acadress
fromprocta,customerb,ordercwherea.id=c.idandb.acid=c.acid
anda.name='李子'
3
selectt1.acname
from
(selectb.acname
fromprocta,customerb,ordercwherea.id=c.idandb.acid=c.acid
anda.name='李子')t1,
(selectb.acname
fromprocta,customerb,ordercwherea.id=c.idandb.acid=c.acid
anda.name='蘋果')t2
wheret1.acname=t2.acname4
selectb.acname,
sum(casewhentype='家電'thena.price*c.amountelse0end)as家電價格,
sum(casewhentype='水果'thena.price*c.amountelse0end)as水果價格
fromprocta,customerb,ordercwherea.id=c.idandb.acid=c.acid
groupbyb.acname
㈤ ios開發面試題,有的大蝦們多給點!謝謝!!!!
各種java 各種c
㈥ 一個關於資料庫的面試題,求大神幫助! 初學者表示很難! 計算機,資料庫,it
??是要基本代碼嗎??SQL(Structured query language,結構化查詢語言)
建表:create table 表名(欄位名 類型 大小)
主鍵設置:not null primary key
修改表的三大操作:
刪除:alter table 表名 drop 欄位名
增加:alter table 表名 add 欄位名 數據類型
修改:alter table 表名 alter 欄位名 數據類型 --此命令只能修改欄位類型,無法修改名稱
修改數據的三大操作:
添加記錄:insert into 表名 【(欄位名)】values (數據)
【】為預設,可以選擇不輸入
修改數據:update 表名 set 欄位名=表達式 【where 條件】
刪除數據:delete 欄位名列表 from 表名 【where條件】
其餘命令:
刪除整張表命令:drop table 表名
聯合查詢:(select ……) unino (select ……)
子查詢:select * from (select ……) as 1,(select …… ) as 2
數據查詢命令:
select 欄位表達式/*/all/distinct(翻譯:去掉重復項)/top(選擇顯示部分,可以是明確數字或者百分比) from 數據源 where/group by(按照某一欄位分組) ……【having】(此處是分組的同時設置條件)/order by (排序,兩個值,Asc 是升序,DEsc是降序)
㈦ 史下最全的iOS面試題及答案怎麼解決
iOS面試題主要有:
1、多線程、特別是 和 GCD 的內部原理。
2、運行時機制的原理和運用場景。
3、SDWebImage的原理。實現機制。如何解決TableView卡的問題。
4、block和代理的通知的區別。block的用法需要注意些什麼。
5、strong,weak,retain,assign, nomatic 等的區別。
6、設計模式,mvc,單利,工廠,代理等的應用場景。
7、單利的寫法。在單利中創建數組應該注意些什麼。
8、NSString 的時候用和strong的區別。
9、響應值鏈。
10、NSTimer 在子線程中應該手動創建NSRunLoop ,否則不能循環執行。
11、UIScrollView和NSTimer組合做循環廣告圖輪播的時候有一個屬性可以控制當上下滾動tableview的時候廣告輪播圖依然正常滾動。
12、Xcode最新的自動布局。
13、git ,和svn的用法,git的幾個命令。
14、友盟報錯可以查到具體某一行的錯誤,原理是什麼。
15、Instrument 可以檢測 電池的耗電量、和內存的消耗。的用法。
16、動畫CABaseAnimation CAKeyAni…. CATrans….. CAGoup…. 。
17、ARC的原理。望采
㈧ 2018iOS面試題
1.進程和線程的區別
2.如何保證線程安全
3.了解哪些設計模式
4.MVC設計模式的思想是什麼
5.堆和棧回的區別答,工程項目中的哪些數據是儲存在堆哪些在棧中
6.iOS中的NSCopying協議,,MutableCopy的區別
7.解釋屬性修飾關鍵詞的作用
8.tcp為什麼要進行三次握手?不是2次,4次
9.HTTP為什麼底層是TCP不是UDP
10.Blcok,NSNotification,delegate,Observer比較
㈨ 三分鍾資料庫面試題
SELECT last_name,salary FROM employees WHERE salary=(SELECT max(salary) FROM employees);
㈩ 資料庫面試題
createdatabaseaaa;createtableusers(idintNOTNULLAUTO_INCREMENT,user_namechar(10),moneychar(10),add_timedatetimePRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8;3.insertintousersvalues(2,'a1','a11',current_date),(3,'a1','a11',current_date),(4,'a1','a11',current_date),(5,'a1','a11',current_date),(6,'a1','a11',current_date),(7,'a1','a11',current_date),(8,'a1','a11',current_date),(9,'a1','a11',current_date),(10,'a1','a11',current_date),(11,'a1','a11',current_date);4.參考第二步5.參考第三步6.selecta.username,a.money,b.email,b.user_phone,b.weighfromusersa,user_infobwherea.id=b.idanda.id=XXX(你指定的);7.mysqlmp-uroot-paaa>/tmp/aaa.sql(需要輸入密碼)我用的是mysql上的寫法