㈠ 建立一个数据结构(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上的写法