当前位置: 首页 > news >正文

做网站需要后台吗广州网站制作哪家专业

做网站需要后台吗,广州网站制作哪家专业,吉林省吉林市龙潭区,蚁坊舆情前言 写这篇文章的目的是因为前两天同学想应聘iOS开发#xff0c;从网上找了iOS面试题和答案让我帮忙看看。我扫了一眼#xff0c;倒吸了一口冷气#xff0c;仔细一看#xff0c;气的发抖。整篇题目30多个没有一个答案是对的#xff0c;总结这篇面试题的作者对iOS机制根本…前言 写这篇文章的目的是因为前两天同学想应聘iOS开发从网上找了iOS面试题和答案让我帮忙看看。我扫了一眼倒吸了一口冷气仔细一看气的发抖。整篇题目30多个没有一个答案是对的总结这篇面试题的作者对iOS机制根本就是一知半解就敢发到网上不管有心还是无心都是坑害新人。所以在这里总结一下这几年面试别人和被别人面试遇到的一些我认为比较好的基础题目分享给大家进阶题目在后续补充。我的理解如果有错漏请一定指出非常感谢 从12年开始做面试官到现在已经三个年头了这期面过很多形形色色的开发有腾讯的、有百度的、有小公司的、有做外包的还有完全没有代码能力来做管理的。给我的感觉是百度出品的技术能力最好基础知识、技术细节掌握的非常的扎实并且自信。腾讯出品技术细节上也非常厉害平均来说比百度差一些但是解决问题的能力非常强思维很活跃大局观好。小公司、外包公司的同学技术细节、基础知识要差一些。我个人是非常反对以出身论英雄BAT出品就一定比其他公司的优秀只能说BAT提供的技术氛围更好你可以跟更多优秀的人共事相比小公司技术进步更容易些。 这期间我也面了很多互联网公司腾讯、百度、阿里、快播还有其他很多中小型公司给我的感觉是中国整体的互联网面试官的态度非常糟糕面试官经常性习惯性的迟到理由有开会啦、在吃饭啦最离谱的是没有任何理由就让你在那里等。其实我觉得现在这些公司啊还没有认清楚一个现状就是绝大多数干开发的都只是来看看机会不是来求职的所以总是找不到人。一边说自己的公司多么求贤若渴应聘者来了又不给予应有的尊重。我认为面试是非常不好的一个词应聘过程应该叫面谈、review更合适它是一个双向选择的过程。 我参加的面试不下五十次只有两次面试官递给我一杯水一次是腾讯的技术一面后来那个面试官也是我最尊敬的组长还有一次是快播的hr面。其他面试官直接无视汗流浃背顶着深圳烈日赶来面试的我基本上每次面试完都是半脱水状态。面试更主要的是考察一个应聘者在正常环境下的工作能力而不是极端环境下的应激能力面试官不是要把应聘者问倒、提一些刁钻的问题把他难住而是应该帮助应应聘者缓解他的紧张和压力并适当的提示让应聘者最大限度的发挥这才是一个合格面试官最基本的素质。 iOS面试知识点 现在进入本篇的正题。本篇的面试题是我认为比较好的iOS开发基础知识点希望大家看过这后在理解的基础上掌握而不是死记硬背。死记硬背很快也会忘记的。 1 iOS基础 1.1 父类实现深拷贝时子类如何实现深度拷贝。父类没有实现深拷贝时子类如何实现深度拷贝。 深拷贝同浅拷贝的区别浅拷贝是指针拷贝对一个对象进行浅拷贝相当于对指向对象的指针进行复制产生一个新的指向这个对象的指针那么就是有两个指针指向同一个对象这个对象销毁后两个指针都应该置空。深拷贝是对一个对象进行拷贝相当于对对象进行复制产生一个新的对象那么就有两个指针分别指向两个对象。当一个对象改变或者被销毁后拷贝出来的新的对象不受影响。实现深拷贝需要实现NSCoying协议实现- (id)copyWithZone:(NSZone *)zone 方法。当对一个property属性含有copy修饰符的时候在进行赋值操作的时候实际上就是调用这个方法。父类实现深拷贝之后子类只要重写copyWithZone方法在方法内部调用父类的copyWithZone方法之后实现自己的属性的处理父类没有实现深拷贝子类除了需要对自己的属性进行处理还要对父类的属性进行处理。1.2 KVONSNotificationdelegate及block区别 KVO就是cocoa框架实现的观察者模式一般同KVC搭配使用通过KVO可以监测一个值的变化比如View的高度变化。是一对多的关系一个值的变化会通知所有的观察者。NSNotification是通知也是一对多的使用场景。在某些情况下KVO和NSNotification是一样的都是状态变化之后告知对方。NSNotification的特点就是需要被观察者先主动发出通知然后观察者注册监听后再来进行响应比KVO多了发送通知的一步但是其优点是监听不局限于属性的变化还可以对多种多样的状态变化进行监听监听范围广使用也更灵活。delegate 是代理就是我不想做的事情交给别人做。比如狗需要吃饭就通过delegate通知主人主人就会给他做饭、盛饭、倒水这些操作这些狗都不需要关心只需要调用delegate代理人就可以了由其他类完成所需要的操作。所以delegate是一对一关系。block是delegate的另一种形式是函数式编程的一种形式。使用场景跟delegate一样相比delegate更灵活而且代理的实现更直观。KVO一般的使用场景是数据需求是数据变化比如股票价格变化我们一般使用KVO观察者模式。delegate一般的使用场景是行为需求是需要别人帮我做一件事情比如买卖股票我们一般使用delegate。 Notification一般是进行全局通知比如利好消息一出通知大家去买入。delegate是强关联就是委托和代理双方互相知道你委托别人买股票你就需要知道经纪人经纪人也不要知道自己的顾客。Notification是弱关联利好消息发出你不需要知道是谁发的也可以做出相应的反应同理发消息的人也不需要知道接收的人也可以正常发出消息。1.3 KVC如果实现如何进行键值查找。KVO如何实现 请看这两篇博文 KVC KVO 1.4 将一个函数在主线程执行的4种方法 GCD方法通过向主线程队列发送一个block块使block里的方法可以在主线程中执行。dispatch_async(dispatch_get_main_queue(), ^{ //需要执行的方法 }); NSOperation 方法NSOperationQueue *mainQueue [NSOperationQueue mainQueue]; //主队列 NSBlockOperation *operation [NSBlockOperation blockOperationWithBlock:^{//需要执行的方法 }]; [mainQueue addOperation:operation]; NSThread 方法[self performSelector:selector(method) onThread:[NSThread mainThread] withObject:nil waitUntilDone:YES modes:nil];[self performSelectorOnMainThread:selector(method) withObject:nil waitUntilDone:YES];[[NSThread mainThread] performSelector:selector(method) withObject:nil]; RunLoop方法[[NSRunLoop mainRunLoop] performSelector:selector(method) withObject:nil];1.5 如何让计时器调用一个类方法 计时器只能调用实例方法但是可以在这个实例方法里面调用静态方法。使用计时器需要注意计时器一定要加入RunLoop中并且选好model才能运行。scheduledTimerWithTimeInterval方法创建一个计时器并加入到RunLoop中所以可以直接使用。如果计时器的repeats选择YES说明这个计时器会重复执行一定要在合适的时机调用计时器的invalid。不能在dealloc中调用因为一旦设置为repeats 为yes计时器会强持有self导致dealloc永远不会被调用这个类就永远无法被释放。比如可以在viewDidDisappear中调用这样当类需要被回收的时候就可以正常进入dealloc中了。 [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:selector(timerMethod) userInfo:nil repeats:YES];-(void)timerMethod { //调用类方法[[self class] staticMethod]; }-(void)invalid {[timer invalid];timer nil; } 1.6 如何重写类方法 1、在子类中实现一个同基类名字一样的静态方法2、在调用的时候不要使用类名调用而是使用[self class]的方式调用。原理用类名调用是早绑定在编译期绑定用[self class]是晚绑定在运行时决定调用哪个方法。1.7 NSTimer创建后会在哪个线程运行。 用scheduledTimerWithTimeInterval创建的在哪个线程创建就会被加入哪个线程的RunLoop中就运行在哪个线程自己创建的Timer加入到哪个线程的RunLoop中就运行在哪个线程。1.8 id和NSObject的区别 id是一个 objc_object 结构体指针定义是typedef struct objc_object *id id可以理解为指向对象的指针。所有oc的对象 id都可以指向编译器不会做类型检查id调用任何存在的方法都不会在编译阶段报错当然如果这个id指向的对象没有这个方法该崩溃还是会崩溃的。NSObject *指向的必须是NSObject的子类调用的也只能是NSObjec里面的方法否则就要做强制类型转换。不是所有的OC对象都是NSObject的子类还有一些继承自NSProxy。NSObject *可指向的类型是id的子集。我的理解如果有错漏请一定指出非常感谢 以下内容后续补充 iOS 核心框架 CoreAnimationCoreGraphicsCoreLocationAVFoundationFoundationiOS核心机制 UITableView 重用ObjC内存管理自动释放池ARC如何实现runloopruntimeBlock的定义、特性、内存区域、如何实现Responder ChainNSOperationGCD数据结构 8大排序算法二叉树实现二分查找实现面向对象编程 封装、继承、多态设计模式6个原则设计一个类的功能如何划分粒度单一职责接口隔离。如果有一个鸟类有飞的动作一个鸵鸟继承它是合适的吗里氏替换类之间的依赖如何依赖偶合度最小依赖倒转 高层依赖低层低层不能依赖高层。依赖接口不能依赖具体的类。如果A要调用C函数但C是B的成员类应该如何设计迪米特如何设计类能做到只增加代码而不修改代码有哪些经验开放封闭 通过设计模式解决。计算机技术 计算机网络 TCP/IP、HTTPCDN、SPDY计算机安全 RSA、AES、DES操作系统线程、进程、堆栈、死锁、调度算法iOS新特性、新技术 iOS7 UIDynamic、SpritKit、新布局、扁平化iOS8 应用程序扩展、HealthKit、SceneKit、CoreLocation、TouchID、PhotoKitiOS9Apple Watch第三方库SDWebImage、AFNetwork、JSONKit、waxswift转载于:https://www.cnblogs.com/zy1987/p/4615698.html
http://www.zqtcl.cn/news/551884/

相关文章:

  • 河南建设网站公司简介做新闻类网站需要什么资质
  • 网络文化经营许可证图片下载优化大师安装桌面
  • 网站cms系统教育网站开发文档
  • 用网站做淘客怎么做网站建设在电访销售话术
  • 做电影网站赚了几百万动画制作流程
  • 怎么做企业的网站首页wordpress 主机迁移
  • 网站常见问题网页设计代码开头
  • 聊城网站推广品牌推广计划描述
  • 池州网站制作优化有没有专业做特产的网站
  • wordpress采集站源码wordpress好用的会员插件
  • 寿县城乡建设局网站青岛网站建设大全
  • 杭州做网站的好公司哪家好做影视网站侵权吗
  • 自助建站网站seo公司想学编程做网站
  • 网站空间备案要多久花木公司网站源码
  • 高端求职网站排名ftontpage如何做网站
  • 音乐网站开发技术河南省住房和城乡建设门户网站
  • 吉安微信网站弋阳县建设工程网站
  • 网站建设自学建站视频教程哈尔滨全国网站建设
  • 网站建设基础培训网站架构拓扑图
  • 网站开发价格预算成都必去的地方排行榜
  • 鹤岗做网站企业建立网站主要包括那些流程
  • 如何进网站出口外贸是做什么的
  • 网站制作北京网站建设公司哪家好一个人 建设网站
  • 百度网站是什么阿里云免费网站建设
  • 网站建设平台源码攻击网站步骤
  • 注册了网站之后怎么设计深圳开发app
  • 国外网站搭建平台移动互联网公司
  • 做网络私活的网站网站开发的人
  • 数据分析网站开发四川手机网站设计方案
  • 什么是网络营销的方法莱州网站建设关键字排名优化网络托管微信代运营