Solid

2020年面向高级开发人员的iOS面试题总结(附答案)

做~自己de王妃 提交于 2020-08-14 06:34:16
前言: 这是许多硅谷公司用来衡量iOS候选人资历水平的一系列问题。 这些问题涉及iOS开发的各个方面,旨在触及对平台的广泛理解。 毕竟,高级开发人员应该能够从头到尾地发布完整的iOS产品。 这绝不是一个详尽的列表,但它可以帮助你为即将到来的技术iOS面试做准备。 目录 你使用的最新版本的iOS是什么?你喜欢什么,为什么? 什么是iOS应用程序,您的代码适合哪里? 你喜欢或不喜欢什么Swift特性?为什么? 内存管理在iOS上如何处理? 你对单身人士有什么了解?你会在哪里使用一个,你不在哪里? 你能否解释一下Delegate和KVO有什么不同? iOS应用中通常使用哪些设计模式? 你知道除了常见的可可模式外还有哪些设计模式? 你能否解释并展示SOLID原则的例子? 你有什么选择在iOS上实现存储和持久性? 你有什么选择在iOS上实现网络和HTTP? 如何以及何时需要在iOS上序列化和映射数据? 在iOS上布置UI有什么选择? 你将如何优化动态大小的表或集合视图的滚动性能? 你将如何在iOS上执行异步任务? 你如何管理依赖关系? 你如何在iOS上调试和配置文件? 你有TDD经验吗?你如何在iOS上进行单元和UI测试? 你编码审查和/或配对计划? 在下面的章节中,我们将讨论每个问题,背后的原因,预期的答案,以及可能为面试官带来危险的答案。 1.你使用的最新版本的iOS是什么?你喜欢什么

vue table跨行,一步步实现

点点圈 提交于 2020-08-14 06:04:23
需求效果 数据格式 list:[ { 'name':'项目1' , items:[ { 'zysx':'n','ks':'科室1' }, { 'zysx':'n','ks':'科室1' }, { 'zysx':'n','ks':'科室1' } ] }, { 'name':'项目2' , items:[ { 'zysx':'n2','ks':'科室2' }, { 'zysx':'n2','ks':'科室2' }, { 'zysx':'n2','ks':'科室2' } ] },{ 'name':'项目3' , items:[ { 'zysx':'n3','ks':'科室3' }, { 'zysx':'n3','ks':'科室3' }, { 'zysx':'n3','ks':'科室3' } ] } ] View Code 首先要明白什么循环时{{index}}与{{!index}},前者输出序号,后者输出的是boolean 关键代码: <template> <div class="sss"> <a>准备:先外层循环,查看数据格式及{{!index}}和{{index}}的区别</a> <table border="1px solid red;" width="600px"> <tr><th>项目</th><th>注意事项</th><th>科室</th></tr> <tbody> <tr

Html/css 列表项 区分列表首尾

六月ゝ 毕业季﹏ 提交于 2020-08-13 18:58:28
列表项,有时需要判断列表首尾,来筛选设置样式 如上图,三个项有间隔,怎么保证设置了列表项之间的距离后,整体还水平居中显示呢? .item:not(:first-child) {   margin-left: 20px; } 1 <! DOCTYPE html > 2 < html > 3 < head > 4 < meta charset ="UTF-8" > 5 < title > Document </ title > 6 < style type ="text/css" > 7 .container { 8 width : 600px ; 9 height : 300px ; 10 background : rgba(4,0,255,0.50) ; 11 } 12 .list-parentOuter { 13 float : left ; 14 margin-left : 50% ; 15 } 16 .list-parentInner { 17 position : relative ; 18 right : 50% ; 19 display : flex ; 20 flex-direction : row ; 21 justify-items : center ; 22 margin-top : 50px ; 23 } 24 .item { 25 height :

javascript实现炫酷魔方

人盡茶涼 提交于 2020-08-13 17:10:52
实现效果: 魔方动态转换,同时每个面里的每个块都能进行动态变换。 实现代码 : <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>魔方</title> <style type="text/css"> * { margin: 0 ; padding: 0 ; } body{ width: 100% ; height: 100% ; background: radial - gradient(#fff,pink); } .container{ width: 300px; height: 300px; /* border:1px solid #000; */ margin:150px auto; perspective: 20000px; } .box{ width: 300px; height: 300px; border:1px solid transparent; box -sizing: border- box; position:relative; transform -style: preserve- 3d; /* transform: rotateX(45deg) rotateY(45deg); */ animation: rotate 10s linear infinite; } /*

jquery下拉多选select插件

♀尐吖头ヾ 提交于 2020-08-13 08:07:21
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jquery下拉多选select插件</title> <link rel="stylesheet" href="css/select.css"> <script src="js/jquery.min.js"></script> <script src="js/select.js"></script> </head> <body> <br><br><br><br> <div id="demo1" class="selectPickerWrapper"> <select class="hidden" multiple="multiple"> <option>万源路</option> <option>漕宝路666号</option> <option>古美街道</option> <option>平南路888号</option> <option>合川路</option> <option>莲花路4545号</option> </select> </div> <div id="demo2" class="selectPickerWrapper"> <select class="hidden" multiple="multiple">

博客园美化(最全)

半城伤御伤魂 提交于 2020-08-13 06:54:51
使用博客园快一星期了,看自己博客太单调了,就网上翻找别人的美化教程,自己钻研一整天,现在整理分享出来。 首先要申请js权限,在设置选项,博客设置里, 一般十几分钟就审核好了,如图 背景图片设置 先选择模板,选择SimpleMemory。 注: 后面的css代码是基于这个模板修改的 新建一个相册,上传背景图片,尽量选清晰度高的。在相册那里点击查看图片 会弹出一个很大的页面,右键图片,选择 复制图片地址 。 然后将以下css代码粘贴到 博客设置的 页面定制CSS代码 处,记得展开代码。 #google_ad_c1, #google_ad_c2 { display : none ;} .syntaxhighlighter a, .syntaxhighlighter div, .syntaxhighlighter code, .syntaxhighlighter table, .syntaxhighlighter table td, .syntaxhighlighter table tr, .syntaxhighlighter table tbody, .syntaxhighlighter table thead, .syntaxhighlighter table caption, .syntaxhighlighter textarea { font-size : 14px

手把手教你基于SqlSugar4编写一个可视化代码生成器(生成实体,以SqlServer为例,文末附源码)

≡放荡痞女 提交于 2020-08-12 15:23:19
   在开发过程中免不了创建实体类,字段少的表可以手动编写,但是字段多还用手动创建的话不免有些浪费时间,假如一张表有100多个字段,手写有些不现实。 这时我们会借助一些工具,如:动软代码生成器、各种ORM框架自带的代码生成器等等,都可以使用。 我们现在就基于SqlSugar(ORM框架)自己动手制造一个轮子,以SqlServer为例。我们先看一下成品效果, 使用流程:   配置好数据库链接,点击【链接数据库】获取指定服务器上的数据库名,点击数据库名,动态获取数据库下面的所有表, 点击数据表,如果生成过了的会自动获取生成的实体,如果没有生成过,点击【生成实体】自动生成显示,直接复制即可使用。 注:server=192.168.0.154这里如果是本地没有配置的话直接server=.即可。 开发环境: 编译器:Visual Studio 2017 运行环境:windows7 x64 数据库:SqlServer2012 代码实现步骤: 一、创建一个ASP.NET Web应用,命名为GenerateEntity 二、应用SqlSugar动态链接库 三、编写代码 这里分为前端和后端,前端页面展示,后端后台逻辑( 注:由于我们是代码展示,所以就不搞三层架构、工厂模式这些,直接在控制器中完成,有需要的同学可以根据项目需求进行更改 ) 内部实现逻辑: 在页面上配置数据库链接,点击【链接数据库

【融职培训】Web前端学习 第2章 网页重构5 css选择器进阶

为君一笑 提交于 2020-08-12 15:16:21
一、更多的选择器 上一节我们已经掌握了常用css选择器和css的一些常用属性,本节我们进一步扩展css选择器的内容包括内容如下: 层级选择器 组合选择器 伪类选择器 伪元素选择器 层级选择器 找到指定html元素内的某个元素: 1 .sport li{ 2 color:red 3 } 同上面的选择器 .sport li,可以选择class为sport元素内部所有的li标签。在上一节我们讲解过,尽量不要单独使用元素选择器来定义元素样式,但是如上所述,配合class选择器组成一个层级选择器,这样就可以更便捷、高效第使用元素选择器了。 组合选择器 组合选择器可以将多个选择器用逗号分隔开,进而定义将多个选择器选择的元素定义为相同的样式,例如下面的示例,可以将class属性为info1和info2的所有元素定义字体颜色为红色。 1 .info1,.info2{ 2 color:red; 3 } 伪类选择器 此前我们学习的所有选择器都是静态的定义某些元素的样式,通过伪类选择器,我们还可以为元素添加一定的行为,这里讲解最常用的伪类选择器:hover,当鼠标悬浮在某个元素上时,为其设置样式,示例代码如下所示: 1 .box:hover{ 2 background-color: red; 3 } 伪元素选择器 伪元素选择器可以使用css为网页添加额外的元素。 ::before:伪元素选择器

Python数据可视化:画饼状图、折线图、圈图

天大地大妈咪最大 提交于 2020-08-12 11:33:44
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 from math import pi import matplotlib.pyplot as plt cat = [ ' Speed ' , ' Reliability ' , ' Comfort ' , ' Safety ' , ' Effieciency ' ] values = [90, 60, 65, 70, 40 ] N = len(cat) x_as = [n / float(N) * 2 * pi for n in range(N)] ax = plt.subplot(111 ) plt.xticks(x_as) ax.plot(x_as, values, linewidth =1, linestyle= ' solid ' , zorder=3 ) plt.show() import matplotlib.pyplot as plt from palettable.colorbrewer.qualitative import Pastel1_7 my_dpi =96 plt.figure(figsize =(480/my_dpi, 480/my_dpi), dpi= my_dpi) names = ' groupA ' , ' groupB

vue获取后台图片验证码,并点击刷新验证码

淺唱寂寞╮ 提交于 2020-08-12 08:15:23
<--url为需要访问的接口地址--> < span style ="display: inline-block;width: 130px;height: 53px;border: 1px solid #D7D7D7;" @click ="changeImgCode" > < img :src ="imgCode" style ="width: 100%;height: 100%;cursor: pointer;" /> </ span > <script> export default { data() { return { imgCode: 'url' } }, methods: { // 点击图片修改图片src changeImgCode() { var num=Math.ceil(Math.random()*10); // 生成一个随机数(防止缓存) this .imgCode = "url?" + num; }, } } </script> 来源: oschina 链接: https://my.oschina.net/u/4279909/blog/4332197