题目描述 给定一个包含一系列字符的集合T和字符串S,请在字符串S中找到一个最小的窗口,这个窗口中必须包含T中的所有字符.  例如,  S = "ADOBECODEBANC"  T = "ABC" 最小窗口是"BANC" 分析 这是一个有趣的问题,这个有趣的问题有多种方法来解决,最好的方法是非常简单,美丽的.  在这篇文章中,我首先说明了一个方法,是我第一次遇见这个问题时想到的.我的第一个方法有点复杂,同时也不是最好的解决方案(时间复杂度为O(Nl…
李洪强iOS经典面试题153- 补充   补充 有空就来解决几个问题,已经懒癌晚期没救了... UML 统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模语言.UML因其简单.统一的特点,而且能表达软件设计中的动态和静态信息,目前已成为可视化建模语言的工业标准.在软件无线电系统的开发过程中,统一建模语言可以在整个设计周期中使用,帮助设计者缩短设计时间,减少改进的成本,使软硬件分割最优. 用例图 静态图 行为图 交互图 实现图 如果设计一个交易平台,流…
李洪强经典面试题152-Runtime   Runtime Runtime是什么 Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码,底层都是基于它来实现的.比如: [receiver message]; // 底层运行时会被编译器转化为: objc_msgSend(receiver, selector) // 如果其还有参数比如: [receiver message:(id)arg...]; // 底层运行时会被编译器转化为:…
李洪强iOS经典面试题141-报错警告调试   报错警告调试 你在实际开发中,有哪些手机架构与性能调试经验 刚接手公司的旧项目时,模块特别多,而且几乎所有的代码都写在控制器里面,比如UI控件代码.网络请求代码.数据存储代码 接下来采取MVC模式进行封装.重构 自定义UI控件封装内部的业务逻辑 封装网络请求工具类(降低耦合) 封装数据存储工具类 BAD_ACCESS在什么情况下出现? 这种问题是经常遇到的,在开发时经常会出现BAD_ACCESS.原因是访问了野指针,比如访问已经释放对象的成员变量或…
李洪强iOS经典面试题140-UI   UI viewcontroller的一些方法的说明viewDidLoad,viewWillDisappear, viewWillAppear方法的 顺序和作用? viewWillAppear:视图即将可见时调用.默认情况下不执行任何操作 viewDidAppear:视图已完全过渡到屏幕上时调用 viewWillDisappear:视图被驳回时调用,覆盖或以其他方式隐藏.默认情况下不执行任何操作 viewDidDisappear:视图被驳回后调用,覆盖或以其…
可能碰到的iOS笔试面试题(5)--Objective-C 面试笔试都是必考语法知识的.请认真复习和深入研究OC. Objective-C 方法和选择器有何不同?(Difference between method and selector?) selector是一个方法的名字,method是一个组合体,包含了名字和实现. Core Foundation的内存管理 凡是带有Create.Copy.Retain等字眼的函数,创建出来的对象,都需要在最后做一次release 比如CFRunLoopO…
李洪强iOS经典面试题上     1. 风格纠错题 修改完的代码: 修改方法有很多种,现给出一种做示例: // .h文件 // http://weibo.com/luohanchenyilong/ // https://github.com/ChenYilong // 修改完的代码,这是第一种修改方法,后面会给出第二种修改方法 typedef NS_ENUM(NSInteger, CYLSex) { CYLSexMan, CYLSexWoman }; @interface CYLUser : N…
1.正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项, 例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12 (1).设计一个函数void generate(int a,int b,int N ,int * Q)计算Q的前几项 (2).设计测试数据来验证函数程序在各种输入下的正确性. 感觉有点类似归并排序的Merge.有两个数组A.B. 数组A存放:3*1.3*2.3*3… 数组B存放:5*1.5*2.5*3… 有两个指针 i, j,…
阅读目录 JavaScript部分 JQurey部分 HTML/CSS部分 正则表达式 开发及性能优化部分 本篇收录了一些面试中经常会遇到的经典面试题以及自己面试过程中遇到的一些问题,并且都给出了我在网上收集的答案.马上就要过春节了,开年就是崭新的一年,相信很多的前端开发者会有一些跳槽的悸动,通过对本篇知识的整理以及经验的总结,希望能帮到更多的前端面试者.(如有错误或更好的答案,欢迎指正,水平有限,望各位不吝指教.:) 另外,宣传一下自己发布不久的一个前端vue的项目:基于vue2.0 +vue…
前言 打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先给大家来张总体流程图,具体步骤请看下文分解! 本文首发地址为GitHub 博客,写文章不易,请多多支持与关注! 总体来说分为以下几个过程: DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器解析渲染页面 断开连接:TCP 四次挥手 一.URL 到底是啥 URL(Uniform Resource Locator),统一资…
备注: 因为文章太长,所以将它分为三部分,本文是第三部分. 第一部分:深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1 第二部分:深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 2 第三部分:深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 3 HTTP/HTTPS请求和响应 前面TCP连接已经建立好了,意味着桥已经搭好了,下一步就该传输HTTP消息了.因为HTTP我们都很熟悉,很常见,也不是那么底层,理解起来轻…
知名互联网公司Python的16道经典面试题及答案 https://mp.weixin.qq.com/s/To0kYQk6ivYL1Lr8aGlEUw 知名互联网公司Python的16道经典面试题及答案 2018-03-08 Python编程 原作者不详找了最早来源: http://blog.csdn.net/alvine008/article/details/39229057 1.Python是如何进行内存管理的? 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一.对…
115道Java经典面试题(面中率最高.最全) Java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可靠性和灵活性. 增加代码的可理解性. 面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象.下面的章节我们会逐个分析这些特性. 封装 封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内部的数据.在Java当中,有3种修饰符:public,private和pr…
李洪强经典面试题49-Objective-C 面试笔试都是必考语法知识的.请认真复习和深入研究OC. Objective-C 方法和选择器有何不同?(Difference between method and selector?) selector是一个方法的名字,method是一个组合体,包含了名字和实现. Core Foundation的内存管理 凡是带有Create.Copy.Retain等字眼的函数,创建出来的对象,都需要在最后做一次release 比如CFRunLoopObserver…
[转].net 经典面试题  1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该类内部和继承类中可以访问. public : 公共成员,完全公开,没有访问限制. internal: 在同一命名空间内可以访问. 2 .列举ASP.NET 页面之间传递值的几种方式. 答. 1.使用QueryString, 如....?id=1; response…
经典面试题 -----version 1.0 题注:以下答案仅限本人个人见解,若有错误和建议请多多指教.QQ:1807812486 题目来源 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? 答:java虚拟机是执行java字节码的虚拟进程.javac将java代码编译成.class字节码文件,不同平台有着不同的JVM, 可以将.class文件解释成对应的机器码文件.因为有JVM的存在,我们不用关心底层的实现. 2.JDK和JRE的区别是什么? 答:jre是ja…
本篇收录了一些面试中经常会遇到的经典面试题,并且都给出了我在网上收集的答案.眼看新的一年马上就要开始了,相信很多的前端开发者会有一些跳槽的悸动,通过对本篇知识的整理以及经验的总结,希望能帮到更多的前端面试者.(如有错误或更好的答案,欢迎指正,水平有限,望各位不吝指教.) 一. 什么是语义化的HTML?有何意义?为什么要做到语义化?(高频率考题) a.什么是语义化的HTML? 语义化的HTML就是写出的HTML代码,符合内容的结构化(内容语义化),选择合适的标签 (代码语义化),能够便于开发者阅读…
前言 在茫茫的互联网海洋中寻寻觅觅,我收藏了800+道Java经典面试题,分享给你们.建议大家收藏起来,在茶余饭后拿出来读一读,以备未雨绸缪之需.另外,面试题答案的话,我打算后面慢慢完善在github, 希望大家都能找到自己理想的offer呀. Java 基础 Java 集合 Java 并发 && 多线程 JVM 篇 数据库 缓存/Redis 计算机网络 消息队列 mybatis 操作系统 Spring Netty/tomcat 常用Linux 命令 ZooKeeper Elasticse…
前言 100道MySQL数据库经典面试题解析,已经上传github啦 https://github.com/whx123/JavaHome/tree/master/Java面试题集结号 公众号:捡田螺的小男孩 数据库 1. MySQL 索引使用有哪些注意事项呢? 可以从三个维度回答这个问题:索引哪些情况会失效,索引不适合哪些场景,索引规则 索引哪些情况会失效 查询条件包含or,可能导致索引失效 如何字段类型是字符串,where时一定用引号括起来,否则索引失效 like通配符可能导致索引失效. 联…
该篇文章整理了一些前端经典面试题,附带详解,涉及到JavaScript多方面知识点,满满都是干货-建议收藏阅读 前言 如果这篇文章有帮助到你,️关注+点赞️鼓励一下作者,文章公众号首发,关注 前端南玖 第一时间获取最新的文章- 1.说一说JavaScript的数据类型以及存储方式 JavaScript一共有8种数据类型 其中有7种基本数据类型: ES5的5种:Null,undefined,Boolean,Number,String, ES6新增:Symbol 表示独一无二的值 ES10新增:Bi…
李洪强iOS经典面试题156 - Runtime详解(面试必备)   一.runtime简介 RunTime简称运行时.OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制. 对于C语言,函数的调用在编译的时候会决定调用哪个函数. 对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用. 事实证明: 在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错. 在编译阶段,C语言调用…
李洪强经典面试题145-Runloop   Runloop 什么是 Runloop? 从字面上讲就是运行循环. 它内部就是do-while循环,在这个循环内部不断地处理各种任务. 一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(调用run方法) RunLoop只能选择一个Mode启动,如果当前Mode中没有任何Source(Sources0.Sources1).Timer,那么就直接退出RunLoop 基本的作用就是保持程序的持续运行,处理a…
李洪强iOS经典面试题144-数据存储   数据存储 sqlite中插入特殊字符的方法和接收到处理方法. 除'其他的都是在特殊字符前面加"/",而 ' -> '' .方法:keyWord = keyWord.replace("/","//"); 什么是NSManagedObject模型? NSManagedObjcet是NSObject的子类,Core Date的重要组成部分.是一个通用类,实现了Core Date模型层所需的基本功能,用户…
李洪强iOS经典面试题143-绘图与动画   绘图与动画 CAAnimation的层级结构 CAPropertyAnimation是CAAnimation的子类,也是个抽象类,要想创建动画对象,应该使用它的两个子类:CABasicAnimation和CAKeyframeAnimation 属性解析:keyPath:通过指定CALayer的一个属性名称为keyPath(NSString类型),并且对CALayer的这个属性的值进行修改,达到相应的动画效果.比如,指定@"position"…
李洪强iOS经典面试题139-Swift Swift 网上有很多Swift的语法题,但是Swift现在语法还未稳定,所以在这里暂时不贴出语法题,可以自行搜索. Swift和Objective-C的联系 Swift与Objective-C共用同一套运行时环境我们编写程序,让程序运行起来,被机器执行的代码并非全部是由我们自己来编写的.需要同时运行很多预先写好的支持性的代码,才能让我们自己的代码运行起来.程序并非单独存在的,运行时处在一定的环境当中.我总联想到很多小蚂蚁在泥土上面爬,而我自己写的程序只…
iOS经典面试题总结--内存管理 内存管理 1.什么是ARC? ARC是automatic reference counting自动引用计数,在程序编译时自动加入retain/release.在对象被创建时retain count+1,在对象被release时count-1,当count=0时,销毁对象.程序中加入autoreleasepool对象会由系统自动加上autorelease方法,如果该对象引用计数为0,则销毁.那么ARC是为了解决MRC手动管理内存存在的一些而诞生的. MRC下内存管…
  内存管理 ARC处理原理 ARC是Objective-C编译器的特性,而不是运行时特性或者垃圾回收机制,ARC所做的只不过是在代码编译时为你自动在合适的位置插入release或autorelease,只要没有强指针指向对象,对象就会被释放. 前端编译器 前端编译器会为"拥有的"每一个对象插入相应的release语句.如果对象的所有权修饰符是__strong,那么它就是被拥有的.如果在某个方法内创建了一个对象,前端编译器会在方法末尾自动插入release语句以销毁它.而类拥有的对象(…
李洪强iOS经典面试题下 21. 下面的代码输出什么? @implementation Son : Father - (id)init { self = [super init]; if (self) { NSLog(@"%@", NSStringFromClass([self class])); NSLog(@"%@", NSStringFromClass([super class])); } return self; } @end 答案: 都输出 Son NSS…
jQuery是一款非常流行的Javascript框架,如果你想要从事Web前端开发这个岗位,那么jQuery是你必须掌握而且能够熟练应用的一门技术.本文整理了一些关于jQuery的经典面试题及答案,分享给正要面试Web开发岗位的同学. 问题:jQuery的美元符号$有什么作用? 回答:其实美元符号$只是”jQuery”的别名,它是jQuery的选择器,如下代码: $(document).ready(function(){ }); 当然你也可以用jQuery来代替$,如下代码: jQuery(do…
php经典面试题与答案 时间:2016-02-29 16:06:23来源:网络 导读:php经典面试题与答案,包括腾讯php面试题.百度php面试题.新浪php面试题等   php面试题及答案 1,禁用cookie 后 seesion 还能用吗?2,抓取远程图片到本地,你会用什么函数?3,已知姓名a,姓名b,给一个求他们缘份的算法4,你觉得在pv10w的时候, 同等配置下,lunix 比win快多少?5,简述post 和get传输的最大容量分别是多少?6,用最少的代码写一个求3值最大值的函数.…