设计模式

2021年-iOS面试进阶资料总结(备战年后)

拥有回忆 提交于 2021-02-20 16:14:11
面试基础 iOS面试基础知识 (一) iOS面试基础知识 (二) iOS面试基础知识 (三) iOS面试基础知识 (四) iOS面试基础知识 (五) 知识详解 iOS面试要点之GCD面试要点 iOS面试要点之多线程面试要点 iOS面试要点之block面试要点 iOS面试要点之Runtime面试要点 iOS面试要点之RunLoop面试要点 iOS面试要点之内存管理面试要点 iOS面试要点之MVC、MVVM面试要点 iOS面试要点之网络性能优化要点 iOS面试要点之网络编程面试要点 iOS面试要点之KVC&KVO面试要点 iOS面试要点之数据存储面试要点 iOS面试要点之混编技术面试要点 iOS面试要点之设计模式面试要点 iOS面试要点之UI面试要点 大厂借鉴 腾讯iOS面试题一分析 字节跳动客户端一二三面~面经 iOS今日头条第3轮面试回忆 2020年6月最新iOS面试题总结(答案篇) 2020 — iOS 面试败北感悟 小米、百度、bigo 、滴滴 、快手等iOS 面试后的一次阶段性总结 我的 2020 iOS BAT面试心得:Bigo、字节、快手、伴鱼、百度、微博等 视频参考 iOS大厂底层核心面试题解析-上 iOS大厂底层核心面试题解析-下 iOS开发者—简历分析指导 iOS底层原理进阶—Block面试详解 iOS底层原理进阶—OC对象的本质 iOS底层原理进阶—多线程原理探究

Vim的简单使用

时间秒杀一切 提交于 2021-02-20 16:09:34
一、Vim 的简单实用 记录 vim 的一些简单用法。 二、normal模式下的操作 1、快速回到上次编辑的地方 按键盘的 gi 2、在文本间上下左右移动 h :左移 j :下移 k :上移 l :右移 3、快速移动到下一个单词 w/W :快速移动到下一个单词开头。 e/E :快速移动到下一给单词结尾。 b/B :回到上一个单词开头。 > 上方小写字母和大写字符的区别,大写的表示以空白字符进行分割,小写表示以非空白字符进行分割。 > > eg: aa "bb" cc,用小 w 会跳转到 双引号,在到b,在到c;用大 W 直接到双引号,然后到c。 4、行间的搜索 命令 解释 需求 示例语句 命令 结果 f{char} 移动到 {char} 这个字符上 查询第一个 a (光标在此)bb cc aa dd aa fa 定位到 c后面的 a 上 t{char} 移动到{char}这个字符的前一个字符上 定位到a后面的空格 bb cc aa(光标在此) dd aa ta 定位到 d 后面的空格上 F{char} 反过来搜索,移动到这个字符{char}上。 定位到d后面的a上 bb cc aa dd(光标在此) aa Fa 定位到d后面的a上 就像上面的 a 可能出现多次,如果第一次没有搜索到,可以使用 ; 搜索该行的下一个,使用 , 搜索该行的上一个。 5、行首行尾的移动 命令 解释

Spring bean的生命周期

非 Y 不嫁゛ 提交于 2021-02-20 08:53:34
一、bean的生命周期 1.简介 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,在spring中,singleton属性默认是true,只有设定为false,则每次指定别名取得的Bean时都会产生一个新的实例,Spring只帮我们管理单例模式Bean的完整生命周期,对于prototype的bean,Spring在创建好交给使用者之后则不会再管理后续的生命周期。 2.生命周期图 3.代码示例 spring 容器中的bean的完整生命周期一共分为十一步完成: 1.bean对象的实例化 2.封装属性,也就是设置properties中的属性值 3.如果bean实现了BeanNameAware,则执行setBeanName方法,也就是bean中的id值 4.如果实现BeanFactoryAware或者ApplicationContextAware ,需要设置setBeanFactory或者上下文对象setApplicationContext 5.如果存在类实现BeanPostProcessor后处理bean

在net Core3.1上基于winform实现依赖注入实例

二次信任 提交于 2021-02-19 06:00:06
#在net Core3.1上基于winform实现依赖注入实例 [toc] #1.背景 net core3.1是微软LTS长期3年支持版本,正式发布于2019-12-03,并且在windows平台上支持了Winfrom跟WPF桌面应用。本文介绍了使用Winform时的第一步,将应用层以及ORM涉及到的DBconfig,仓储层等依赖注入到容器中,并通过构造函数法从容器中调用实例,供给各窗体控件使用。 备注:本文的依赖注入讲解基于微软原生自带的DI,通过Ninject或者AutoFac可自行仿照操作,原理相通。 #2.依赖注入 ##2.1依赖注入是什么? 依赖注入是通过反转控制(IOC),设计模式属于代理模式+工厂模式,由serviceProvider根据实例接口或者实例类型调用,注入时生命周期的设置,控制实例化及配置实例生命周期,并返回实例给程序员调用,从而达到解放程序员的生产力,不用再去new 一个个实例,也不用去考虑实例之间的依赖关系,也不用去考虑实例的生命周期。实现,分为三个阶段,第一,程序员将服务注入服务容器阶段,第二程序员DI实例调用阶段,第三serviceProvider服务管理者根据注入时的配置返回给程序对应的实例以及配置好实例的生命周期。 一张图就可以理解依赖注入实例调用过程 图片来源出处 ,感谢作者。 这里再向读者做个说明ServiceCollection是服务容器

Android面试题集:以前烂大街的四大组件-Activity,面试重提这些知识点你还记得吗?

风流意气都作罢 提交于 2021-02-18 23:15:16
前言 虽然有很多面试的文章里都有这些题目,但是我每次在看的时候,总是会觉得有些分散,复习的时候还要重新去找到对应的文章,所以我就想着自己来整理一下,并且把题目给分一下类型;自己整理可以帮助我复习的同时还可以巩固一遍;这次主要是4大组件相关,后续我会继续整理,觉得有帮助的可以点个赞。 接下来是关于Activity的面试题了: 描述一下Activity 生命周期? onCreate() Activity第-次被创建的时候调用,一些初始化操作可以在这里完成。 onStart() 这个方法在Activity 由不可见变为可见的时候调用。 onResume() 这个方法在Activity 准备好和用户进行交互的时候调用。此时的Acivity一定位于返回栈的栈顶,并且处于运行状态。 onPause() 这个方法在系统准备去启动或者恢复另-个Activity的时候调用。 onStop() 这个方法在Activity 完全不可见的时候调用。它和onPause()方法的主要区别在于,如果启动的新Activity 是一个对话框式的Activity,那么onPause()方法会得到执行,而onStop()方法并不会执行。 onDestroy() 这个方法在Activity被销毁之前调用,之后Activity的状态将变为销毁状态。 onRestart

减少那该死的 if else 嵌套

冷暖自知 提交于 2021-02-18 22:31:34
点击上方“ Java社区 ”,选择“设为星标” 学习的最好时刻是三年前,其次是现在。 Java社区 点击右侧关注, 领取500G编程资源! 来源: http://t.cn/Ez2s6ba 写在前面 不知大家有没遇到过像“横放着的金字塔”一样的 if else 嵌套: if ( true ) { if ( true ) { if ( true ) { if ( true ) { if ( true ) { if ( true ) { } } } } } } 我并没夸大其词,我是真的遇到过了!嵌套6、7层,一个函数几百行,简!直!看!死!人! if else 作为每种编程语言都不可或缺的条件语句,我们在编程时会大量的用到。但 if else 一般不建议嵌套超过三层,如果一段代码存在过多的 if else 嵌套,代码的可读性就会急速下降,后期维护难度也大大提高。 所以,我们程序员都应该尽量避免过多的 if else 嵌套。下面将会谈谈我在工作中如何减少 if else 嵌套的。 正文 在谈我的方法之前,不妨先用个例子来说明 if else 嵌套过多的弊端。 想象下一个简单分享的业务需求:支持分享链接、图片、文本和图文,分享结果回调给用户(为了不跑题,这里简略了业务,实际复杂得多)。 当接手到这么一个业务时,是不是觉得很简单,稍动下脑就可以动手了: 先定义分享的类型

基于注解的IoC容器

最后都变了- 提交于 2021-02-18 21:21:52
BeanFactory SpringBean的创建是典型的工厂模式,这一系列的Bean工厂,即IoC容器为开发者管理了Bean之间的依赖关系。BeanFactory作为最顶层的一个接口类,定义了IoC容器的基本规范。 在BeanFactory里只对IoC容器的基本行为做了定义,不关心Bean是如何定义及怎样加载的。正如我们只关心能从工厂中获取到什么产品,不关心工厂是怎么生产这些产品的 public interface BeanFactory { //对FactoryBean的转义定义,如果使用Bean的名字检索FactoryBean得到的对象是工厂生成的对象,如果需要得到工厂本身,需要转义 String FACTORY_BEAN_PREFIX = "&"; //根据Bean的名字获取IoC中Bean的实例 Object getBean(String var1) throws BeansException; //根据Bean的名字和Class类型获取Bean的实例,增强了类型安全验证机制 <T> T getBean(String var1, Class<T> var2) throws BeansException; Object getBean(String var1, Object... var2) throws BeansException; <T> T getBean

设计模式之Prototype(原型)

落爺英雄遲暮 提交于 2021-02-18 17:53:57
? 原型模式定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 如何使用? 因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变得很简单. 以勺子为例: public abstract class AbstractSpoon implements Cloneable {   String spoonName;   public void setSpoonName(String spoonName) {this.spoonName = spoonName;}   public String getSpoonName() {return this.spoonName;}   public Object clone()   {     Object object = null;     try {       object = super.clone();     } catch (CloneNotSupportedException exception) {       System.err.println(

2021新年最新分享:阿里Java岗5轮技术面经整理

北慕城南 提交于 2021-02-18 15:37:05
写在前面 又到了收割Offer的季节,你准备好了吗?曾经的我,横扫各个大厂的Offer。还是那句话:进大厂临时抱佛脚是肯定不行的,一 定要注重平时的总结和积累,多思考,多积累,多总结,多复盘,将工作经历真正转化为自己的工作经验。 面经分享 今天给大家分享一个面试大厂的完整面经,小伙伴们可以对照下,这些面试题自己是否都会了呢? 同时后面还整理了这些问题的一套面试解析文档及架构学习笔记资料,有需要的小伙伴 一轮技术面(90分钟) hashmap和hashtable区别 为什么会产生死锁 jvm类加载 java反射获取私有属性,改变值 反射用途 所用数据库 项目难点,问题 如何解决项目中遇到的问题 项目中遇到的最难解决的地方 二轮技术面(120分钟) 讲项目 数据库乐观锁使用 如何分库分表 MySQL极限 HashMap源码 设计一个线程安全的HashMap 快排的实现,时间复杂度和空间复杂度 会什么算法 如何把项目变成SOA架构 Spring源码,最深刻的模块,aop用途 JVM内存模型 垃圾回收机制 项目中查看垃圾回收 三轮技术面(150分钟) ConcurrentHashMap底层原理? 手写一个LRU(用LinkedHashMap) HashMap底层数据结构? JDK1.8中的HashMap为什么用红黑树不用普通的AVL树? 为什么在8的时候链表变成树?

不满于CRUD,五面阿里成功斩获Offer!鬼知道我怎么过来的!

孤者浪人 提交于 2021-02-18 14:59:15
写在前面 又到了收割Offer的季节,你准备好了吗?曾经的我,横扫各个大厂的Offer。还是那句话:进大厂临时抱佛脚是肯定不行的,一 定要注重平时的总结和积累,多思考,多积累,多总结,多复盘,将工作经历真正转化为自己的工作经验。 面经分享 今天给大家分享一个面试大厂的完整面经,小伙伴们可以对照下,这些面试题自己是否都会了呢? 同时后面还整理了这些问题的一套面试解析文档及架构学习笔记资料,有需要的小伙伴点赞收藏后,添加小助理vx:bjmsb2020 即可 一轮技术面(90分钟) hashmap和hashtable区别 为什么会产生死锁 jvm类加载 java反射获取私有属性,改变值 反射用途 所用数据库 项目难点,问题 如何解决项目中遇到的问题 项目中遇到的最难解决的地方 二轮技术面(120分钟) 讲项目 数据库乐观锁使用 如何分库分表 MySQL极限 HashMap源码 设计一个线程安全的HashMap 快排的实现,时间复杂度和空间复杂度 会什么算法 如何把项目变成SOA架构 Spring源码,最深刻的模块,aop用途 JVM内存模型 垃圾回收机制 项目中查看垃圾回收 三轮技术面(150分钟) ConcurrentHashMap底层原理? 手写一个LRU(用LinkedHashMap) HashMap底层数据结构? JDK1.8中的HashMap为什么用红黑树不用普通的AVL树?