HTTP
-
HTTP 报文结构是怎样的?
-
HTTP有哪些请求方法?
-
GET 和 POST 有什么区别?
-
如何理解 URI?
-
如何理解 HTTP 状态码?
-
简要概括一下 HTTP 的特点?HTTP 有哪些缺点?
-
对 Accept 系列字段了解多少?
-
对于定长和不定长的数据,HTTP 是怎么传输的?
-
HTTP 如何处理大文件的传输?
-
HTTP 中如何处理表单数据的提交?
-
HTTP1.1 如何解决 HTTP 的队头阻塞问题?
-
对 Cookie 了解多少?
-
如何理解 HTTP 代理?
-
如何理解 HTTP 缓存及缓存代理?
-
为什么产生代理缓存?
-
源服务器的缓存控制
-
客户端的缓存控制
-
什么是跨域?浏览器如何拦截响应?如何解决?
var upPointY = 0.0 //最高值
var middleY = 0.0 //滑动view 中间判定值
var bottionY = 0.0 //最低值
var currentY = 0.0 //当前的Y值
let maxtop = 80.0
override func awakeFromNib() {
super.awakeFromNib()
countY()
addPanRecoginer()
addTapRecoginer()
}
}
//计算数据值
extension PanView {
func countY(){
upPointY = maxtop //最高值
middleY = Double(((self.superview?.frame.height)! - CGFloat(maxtop))/2) //滑动view 中间判定值
bottionY = Double(self.frame.minY) //最低值
currentY = bottionY
}
}
//手势
extension PanView {
func addPanRecoginer(){
let panRecoginer = UIPanGestureRecognizer.init(target: self, action: #selector(panHandle(pan:)))
self.addGestureRecognizer(panRecoginer)
}
func addTapRecoginer(){
let tapRecoginer = UITapGestureRecognizer.init(target: self, action: #selector(tapHandle(tap:)))
self.addGestureRecognizer(tapRecoginer)
}
}
//事件
extension PanView {
@objc func panHandle(pan:UIPanGestureRecognizer){
let translation = pan.translation(in: self.superview)
let transY = Double(translation.y)
if pan.state == .changed {
if Double(self.frame.origin.y) < upPointY{
currentY = upPointY
}else if Double(self.frame.origin.y) > bottionY{
currentY = bottionY
}else{
self.frame.origin.y = CGFloat(currentY + transY)
}
}else if pan.state == .ended {
if (currentY + transY > upPointY) && (currentY + transY < middleY) { //如果当前位置在最上部和中线中间
currentY = upPointY
}else if (currentY + transY < bottionY) && (currentY + transY > middleY){
currentY = bottionY
}else if currentY + transY < upPointY{
currentY = upPointY
}else{
currentY = bottionY
}
UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 10, initialSpringVelocity: 5, options: [], animations: {
self.frame.origin.y = CGFloat(self.currentY)
}) { (complete) in
最后:
总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。
面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
[外链图片转存中…(img-MLN9RV5n-1715066186510)]