最后
其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)
《前端开发四大模块核心知识笔记》
最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
一旦SomeClass表明他采纳了Locking协议,SomeClass就有义务实现Locking协议中的两个方法。
@implementation SomeClass
- (void)lock {
// 實現lock方法…
} - (void)unlock {
// 實現unlock方法…
}
@end
由于SomeClass已经确实遵从了Locking协议,故调用端可以安全的发送lock或unlock消息给SomeClass实体变量,不需担心他没有办法回应消息。
当某个类遵守了某个协议,但并不意味着:它就一定要实现它,因为不实现也不报错。当这个类被实例化,意味着可以调用其遵守的协议方法,但如果没有实现就会报错,所以要使用`respondsToSelector`进行判断是否实现了某些协议方法。
@protocol wiftPro
-(void)dohouseWork;
-(void)learn;
@end
@interface wife : NSObject
if ([self.wift respondsToSelector:@selector(dohouseWork)]) {
[self.wift learn];
}
### 协议的使用特点
* ###### 父类遵守了某个协议,那么子类也自动遵守此协议
父类遵守了此协议
@protocol StudyProtocol
- (void)study;
@end
@interface Person : NSObject< StudyProtocol>
@end
子类自然遵守此协议
@interface Student : Person
@end
@implementation Sutdent
-(void)study{
}
@end
* ###### 协议可以遵守协议
一个协议遵守了另一个协议,就可以拥有另一份协议中的方法声明。
@protocol A
-(void)methodA;
@end
@protocol B
-(void)methodB;
@end
@interface TZperson : NSObject
-(void)methodA; // 同时拥有A/B协议中的方法声明
-(void)methodB;
@end
* ###### 基协议
每个协议都应该遵守 `NSObject`协议,它是一个基协议,最根本的协议。
@protocol A // 基协议
-(void)methodA;
@end
总结
阿里十分注重你对源码的理解,对你所学,所用东西的理解,对项目的理解。