卓同学的 Swift 面试题


我觉得应该掌握的知识点,没有实际意义。
  • class 和 struct 的区别
  • 不通过继承,代码复用(共享)的方式有哪些
  • Set 独有的方法有哪些?
  • 实现一个 min 函数,返回两个元素较小的元素
  • map、filter、reduce 的作用
  • map 与 flatmap 的区别
  • 什么是 copy on write
  • 如何获取当前代码的函数名和行号
  • 如何声明一个只能被类 conform 的 protocol
  • guard 使用场景
  • defer 使用场景
  • String 与 NSString 的关系与区别
  • 怎么获取一个 String 的长度
  • 如何截取 String 的某段字符串
  • throws 和 rethrows 的用法与作用
  • try? 和 try!是什么意思
  • associatedtype 的作用
  • 什么时候使用 final
  • public 和 open 的区别
  • 声明一个只有一个参数没有返回值闭包的别名
  • Self 的使用场景
  • dynamic 的作用
  • 什么时候使用 @objc
  • Optional(可选型) 是用什么实现的
  • 如何自定义下标获取
  • ?? 的作用
  • lazy 的作用
  • 一个类型表示选项,可以同时表示有几个选项选中(类似 UIViewAnimationOptions ),用什么类型表示
  • inout 的作用
  • Error 如果要兼容 NSError 需要做什么操作
  • 下面的代码都用了哪些语法糖
    [1, 2, 3].map{ $0 * 2 }复制代码
  • 什么是高阶函数
  • 如何解决引用循环
  • 下面的代码会不会崩溃,说出原因
    var mutableArray = [1,2,3]
    for _ in mutableArray {mutableArray.removeLast()
    }复制代码
  • 给集合中元素是字符串的类型增加一个扩展方法,应该怎么声明
  • dynamic framework 和 static framework 的区别是什么

    高级

  • 一个 Sequence 的索引是不是一定从 0 开始?
  • 数组都实现了哪些协议
  • 如何自定义模式匹配
  • autoclosure 的作用
  • 编译选项 whole module optmization 优化了什么
  • 下面代码中 mutating 的作用是什么

    struct Person {var name: String {mutating get {return store}}
    }复制代码
  • 如何让自定义对象支持字面量初始化

哲学部分

  • 为什么数组索引越界会崩溃,而字典用下标取值时 key 没有对应值的话返回的是 nil 不会崩溃。
  • 一个函数的参数类型只要是数字(Int、Float)都可以,要怎么表示。

欢迎关注我的微博:@没故事的卓同学

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用CImage双缓冲

一普通显示:现在的VC显示图片非常方便,远不是VC6.0那个年代的技术可比,而且支持多种格式的如JPG,PNG。 CImage _img; 初始化: _img.Load(L"map.png"); 显示:OnPaint事件中 CRect rect; this…

汇编语言学习系列 for循环实现

假如汇编语言要实现如下C语言的功能&#xff0c;编译环境Ubuntu14.04&#xff08;32位&#xff09;。 #include<stdio.h> int fact_for(int n) {int i;int result 1;for(i 2; i < n; i)result * i;return result; }int main(){printf("%d\n", fact_for(3)…

川大锦城c语言期末考试答案,四川大学《计算机组成原理》2018期末考试B卷答案及评分标准.doc...

四川大学期末考试试题(闭卷)答案及评分标准(2017——2018学年第 2 学期) B卷课程号&#xff1a;304036030 课程名称&#xff1a;计算机组成原理填空题(本大题共15空&#xff0c;每空2分&#xff0c;共30分)在评价计算机性能时用 响应时间 表示计算机完成某任务所需时间;用 吞吐…

2014届华为校园招聘机试题2

第一题、输入一个正整数&#xff0c;并编码为字符串进行输出 描述: 1、输入一个正整数&#xff0c;并编码为字符串进行输出。 编码规则为&#xff1a;数字0-9分别编码为字符a-j 2、输入肯定是正整数&#xff0c;不用做错误较验 运行时间限制: 无限制 内存限制: 无限制 输…

图解phpstorm常用快捷键

查询快捷键 CTRLN 查找类 CTRLSHIFTN 全局搜索文件 ,优先文件名匹配的文件 CTRLSHIFTALTN 查找php类名/变量名 ,js方法名/变量名, css 选择器 CIRLB 找变量的来源&#xff0c;跳到变量申明处 (CTRL 鼠标单击 也可以) CTRLALTB 找到继承该接口或者父级 的所有子类, 统计所有子类…

The C Programming Language--可变参数的函数

函数 printf的正确声明形式为&#xff1a;int printf(char *fmt, ...) void va_start (va list ap, last-required) type va_arg (va list ap, type) void va_end (va list ap) 其中&#xff0c;省略号表示参数表中参数的数量和类型是可变的。 va_list 类型用于声明一个变量&am…

二分查找法的循环与递归实现及时间复杂度分析

转载&#xff1a;http://baike.baidu.com/link?url3aEK-qcVbYi6ioJOsf-dFmvFQ6WQgzTwnE9JkmlHBc88qk-D00SambfrSl3hVh_UyqyxF8QEUosfq20IQQW5z_ 和http://hi.baidu.com/networkor/item/80d817f8331d8e08a7298834 设数组为整数数组&#xff0c;从小到大排序。二分法强调一定是…

cifar10 c语言,Python3读取深度学习CIFAR-10数据集出现的若干问题解决

今天在看网上的视频学习深度学习的时候&#xff0c;用到了CIFAR-10数据集。当我兴高采烈的运行代码时&#xff0c;却发现了一些错误&#xff1a;# -*- coding: utf-8 -*-import pickle as pimport numpy as np import os def load_CIFAR_batch(filename): """ 载…

Java程序性能优化

一、避免在循环条件中使用复杂表达式 在不做编译优化的情况下&#xff0c;在循环中&#xff0c;循环条件会被反复计算&#xff0c;如果不使用复杂表达式&#xff0c;而使循环条件值不变的话&#xff0c;程序将会运行的更快。 例子&#xff1a; import java.util.vector; class …

asp.net表单提交方法:GET\POST介绍

表单form的提交有两种方式&#xff0c;一种是get的方法&#xff0c;一种是post 的方法&#xff0c;如果没有特殊指定&#xff0c;默认为post。看下面代码,理解ASP.NET Get和Post两种提交的区别: 1.< form id"form1" method"get" runat"server"…

各种排序算法总结

转载&#xff1a;http://blog.csdn.net/warringah1/article/details/8951220 明天就要去参加阿里巴巴的实习生笔试了&#xff0c;虽然没想着能进去&#xff0c;但是态度还是要端正的&#xff0c;也没什么可以准备的&#xff0c;复习复习排序吧。 1 插入排序 void InsertSort(in…

CentOS7 上安装 Zookeeper-3.4.9 服务

在 CentOS7 上安装 zookeeper-3.4.9 服务1、创建 /usr/local/services/zookeeper 文件夹&#xff1a; mkdir -p /usr/local/services/zookeeper 2、进入到 /usr/local/services/zookeeper 目录中&#xff1a; cd /usr/local/services/zookeeper 3、下载 zookeeper-3.4.9.…

c语言在程序中显示现在星期几,C语言程序设计: 输入年月日 然后输出是星期几...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include main(){int year,month,day0,a,b,week,c,i,sum0,days,d;printf("please input year,month,days\n");scanf("%d,%d,%d",&year,&month,&days);for(i1;i{if (year%40){if(year%1000){if (ye…

static之用法

本文转载于http://www.cnblogs.com/stoneJin/archive/2011/09/21/2183313.html 在C语言中&#xff0c;static的字面意思很容易把我们导入歧途&#xff0c;其实它的作用有三条。 &#xff08;1&#xff09;先来介绍它的第一条也是最重要的一条&#xff1a;隐藏。 当我们同时编译…

HTTP响应报文与工作原理详解

HTTP 是一种请求/响应式的协议&#xff0c;即一个客户端与服务器建立连接后&#xff0c;向服务器发送一个请求;服务器接到请求后&#xff0c;给予相应的响应信息。 超文本传输协议(Hypertext Transfer Protocol&#xff0c;简称HTTP)是应用层协议。HTTP 是一种请求/响应式的协议…

优先队列priority_queue 用法详解

转载&#xff1a; 1.优先队列priority_queue 用法详解 2.STL系列之五 priority_queue 优先级队列 优先队列是队列的一种&#xff0c;不过它可以按照自定义的一种方式&#xff08;数据的优先级&#xff09;来对队列中的数据进行动态的排序 每次的push和pop操作&#xff0c;队…

android自定义画板,android 自定义控件 -- 画板

如图&#xff1a;package com.example.myview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import android.graphics.Paint.Style;import android.util.Attrib…

postgreSQl pathman 用法语句总结

2019独角兽企业重金招聘Python工程师标准>>> --新建主表 create table part_test(id int, info text, crt_time timestamp not null); --插入测试数据 insert into part_test select id,md5(random()::text),clock_timestamp() (id|| hour)::interval from generat…

Oracle查询笔记

-- tanslate(str,from_str,to_str) -- 将str中的from_str替换成to_str select translate(hello,e,o) t from dual;-- instr(str,des_str) -- 可以实现like功能 select instr(hello,g),instr(hello,h),instr(hello,l) from dual; -- decode(value,s1,r1,s2,r2,default) -- 类似于…

全排列算法及实现

转载&#xff1a; 1.http://blog.csdn.net/hackbuteer1/article/details/6657435 2.http://blog.sina.com.cn/s/blog_9f7ea4390101101u.html 3.http://www.slyar.com/blog/stl_next_permutation.html 4.http://www.cplusplus.com/reference/algorithm/next_permutation/ 5…