首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【面试总结】Android 开发者值得深入思考几个面试问答分享

事件分发机制大家应该都熟记于心,默认事件分发是逆序,有哪些方法可以修改分发顺序? 记得曾经有位朋友贴纸应用时,有RT 需求。...,而且,这个方法是protected,所以我们可以通过重写这个方法根据参数"i"来决定返回哪一个View所对应索引,从而改变分发顺序。...1. compat库是如何将TextView替换为AppCompatTextVew? 2. 为什么要进行替换? 3. 根据替换相关原理,我们可以哪些事情?...createViewFromTag事情非常有意思: image.png 先看到787行这个if-else,条件是name中有没有"."...【Android进阶学习视频】、【全套Android面试秘籍】关注【主页简介】查看免费领取方式! 第三问: 根据替换相关原理,我们可以哪些事情

51700

分享一些对你有帮助JavaScript技巧

对于JavaScript,我们经常会发现,为了一个相似的结果,我们可以用多种方式来做事情,这有时会让人感到困惑。 有些用法比其他替代方法更好。 你如何改变你JS代码,让它更简单,更容易阅读?...在调用函数时,你可以为这些参数传值,也可以不传值。如果你不为param传值,它将是未定义,可能会引起一些不必要副作用。 在定义函数参数时,有一种简单方法可以将默认值传递给函数参数。...你可以这样。...let [fire, clock, , watermelon] = emojis; 这和,让火=表情符号[0]是一样;但多了很多灵活性。 你有没有注意到,只是用中间空位忽略了奖杯表情?...看你能把代码写得多小多清晰,是一件很有趣事。 你喜欢文章吗?有问题吗?是不是犯了错误? 请告诉!!!

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

Spring解决泛型擦除思路不错,现在它是了。

你好呀,是歪歪。 Spring 事件监听机制,不知道你有没有用过,实际开发过程中用来进行代码解耦简直不要太爽。...,然后“发给指定服务同步一下”这件事情可以放在事件监听器去做。...因为当前发布事件主角就是 Person 对象: 同理,当 Order 对象事件过来时候,这里肯定就是对应 handleOrderEvent 方法: 如果我们把 BaseEvent ResolvableTypeProvider...这个事情用发布订阅机制来是再合适不过了。 编码过程中牢记单一职责原则,要知道一个类该干什么不该干什么,这是面向对象编程 关键点之一。...好啦,本文技术部分就到这里了。 下面这个环节叫做[荒腔走板],技术文章后面偶尔会记录、分享点生活相关事情,和技术毫无关系。知道看起来很突兀,但是喜欢,因为这是一个普通博主生活气息。

15610

分享一些你可能不知道但却很有帮助JavaScript小技巧

对于JavaScript,我们经常会发现,为了一个相似的结果,我们可以用多种方式来做事情,这有时会让人感到困惑。 有些用法比其他替代方法更好。 你如何改变你JS代码,让它更简单,更容易阅读?...在调用函数时,你可以为这些参数传值,也可以不传值。如果你不为param传值,它将是未定义,可能会引起一些不必要副作用。 在定义函数参数时,有一种简单方法可以将默认值传递给函数参数。...for (var i = 0, j = 50; i <= 50; i++, j--) ---- 合并多个对象 您可能需要将两个对象合并在一起,创建一个更好信息对象来工作。...let [fire, clock, , watermelon] = emojis; 这和,让火=表情符号[0]是一样;但多了很多灵活性。 你有没有注意到,只是用中间空位忽略了奖杯表情?...---- 获取查询参数 window.location对象有一堆实用方法和属性,我们可以通过这些属性和方法来获取浏览器URL协议、主机、端口、域名等信息。

1.1K50

一篇就够——Kotlin快速入门

私有即是封装一种体现 V35、面向对象——继承 一个对象直接使用另一个对象属性或方法 —— 同Java 被继承父类必须用 open 修饰,表示允许其他类继承该类 父类中方法如果允许子类重写,也需要用...委托,把自己不干的事情交给别人 代理,别人委托事情 kotlin中接口代理关键字:by 1、场景说明 围裙妈妈只负责做饭,不负责洗碗 小头爸爸洗一次碗可以赚到10元 大头儿子洗一次碗可以赚到1元...println("是小头爸爸,把洗碗事件委托给了大头儿子") BigHeadSon().washBow() //委托方重写事件之后,需要手动调用代理方方法。...() //委托方重写事件之后,需要手动调用代理方方法。...,但因为重写了洗完事件,所以,本子是调用父亲洗完事件,父亲洗完事件中有一部分是自己,另一部分是儿子 } (4)、输出结果 ?

1.6K20

Java设计模式(二)回调模式

在学习Java路上很早很早就接触了回调,比如:JFrame键盘事件,JFrame控件点击事件,线程池执行之前方法beforeExecute与执行之后方法 afterExecute,线程Run...这一设计允许了底层代码调用在高层定义子程序 可能会有这样一个需求,某开发者想在线程执行之前和执行之后分别一些事情,你可能想到方法就是在线程run方法体内这些操作,这样固然能实现,可是却使得各种业务耦合在一起...解释: ThreadHolder 抽象类run方法决定了在线程执行前后分别调用beforeRun、afterRun方法 simpleThread 重写beforeRun方法和afterRun方法,在方法体中一些事情...AppTest 中向run方法中传递线程对象 通过这个实例,我们可以看到使用回调模式实现了我们功能。...在底层代码,即ThreadHolder中我们就制定了空方法执行顺序,在高层重写方法,然后在执行时我们实现方法就会被底层调用。

85320

面向对象设计 10 条戒律

不,这不是上帝说。 这也不是Jon Skeet / Martin Fowler / Jeff Atwood / Joel Spolsky(可以用你最喜欢技术专家替换这些名字)说。...不知道你有没有见到过那些长篇大论冗余类和方法,当将它们写到纸上时候,简直就是懒婆娘裹脚布——又臭又长?好吧,我们要提出观点是不要这样。 该原则要点就是每个类或方法都有一个存在理由。...在我们例子中,开发人员做了这样事情: ? LoanProcessor问题是,当有一种新类型Loan,例如HomeLoan出现时候,它将不得不改变。结构最好是这样: ?...这个原则真的很简单,只需要问一个问题——如果要看子类,那么能不能说“Child是Parent一种类型?”或者,它更像“Child某种程度上是Parent一种类型?...这要么通过事件回调,要么通过注入接口实现来完成。依赖注入,控制反转或观察者设计模式都是这个原则好例子。这个原则促进了类之间松散耦合,使得实现非常可维护。

31420

09(01)总结final,多态,抽象类,接口

/* final可以修饰类,方法,变量 特点: final可以修饰类,该类不能被继承。 final可以修饰方法,该方法不能被重写。...System.out.println("--------------"); //问题来了,养了很多只猫,每次创建对象可以接受 //但是呢?调用方法,你不觉得很相似吗?仅仅是对象名不一样。...就想使用子类特有功能?行不行? 行。 怎么用呢? A:创建子类对象调用方法即可。(可以,但是很多时候不合理。而且,太占内存了) B:把父类引用强制转换为子类引用。...构造方法:有。 用于子类访问父类数据初始化。 成员方法:既可以是抽象,也可以是非抽象。 抽象类成员方法特性: A:抽象方法 强制要求子类事情。...B:非抽象方法 子类继承事情,提高代码复用性。

64450

.Net面试经验总结(.NetC#)

也使清楚知道这个岗位主要工作内容,使在这方面有了一定能力和经验积累,相信我能够胜任该职位工作,非常认可喜欢贵公司理念,也希望贵公司能够给我一次机会,让加入到贵公司中。...继承:子类继承父类中方法和属性,并且子类可以拥有自己一些方法和属性 多态:通过继承实现不同对象在调用相同方法时,产生不同结果,这就是多态,重写或者重载 简述private、protected、...不同点:接口支持多继承,抽象类不能实现多继承; 接口只包含方法、属性、索引器、事件签名,但不能定义字段和包含它们实现;抽象类可以定义字段、属性、包含有实现方法。...string C#委托与与泛型概念,事件是不是一种委托 委托是一种可用于封装命名和匿名方法引用类型,委托类似于指针,但是委托是类型安全和可靠,委托类都继承于System.Delegate类型,委托类型声明和方法签名类似...,手写一个简易重载和重写 重载是方法名称相同。

1.8K52

《Motion Design for iOS》(四十二)

喜欢Loren构建一个关于界面的东西可能不是每个人都明显喜欢喜欢每个按钮在用户按下时立即切换到一个不同状态样子。绝对不会延迟。...如果想要在用户点击后立即运行代码,就不得不自己写一个好UIButton子类,这样可以重写一些方法,即 -touchesBegan:withEvent: 和 -touchesEnded:withEvent...iOS中每个界面的控制都从UIResponder继承了这些方法,它是一个处理所有触摸控制事件父类。有了子类,可以塞一些自己代码来在这些方法启动时候运行。...当子类化一个苹果提供对象,比如UIButton时,做一个好城市居民确保调用super关于这些方法实现是很重要,因为我们不知道苹果在这两个方法中需要运行什么代码,而且不想破坏按钮默认行为。...在这个例子中,我们动画了视图尺寸,所以我们将动画添加到视图上。 现在让我们在触摸事件结束时同样事情。这次代码放在 -touchesEnded:withEvent:中。

32310

【自然框架】QuickPager分页控件总体介绍和在线演示

洗衣机就会自动按照步骤来洗衣服了,我们可以忙其他事情了。很方便和节省时间。 QuickPager分页控件自动运行方式也是一样,设置好属性就可以了,数据提取、数据绑定、回发事件处理,都可以不用去管。...这样即可以照顾搜索引擎,又可以利用Postback保留查询条件优势了。   当然这个并不是一个很好解决方法,更好是ajax伪URL,不过这个难度要高一点。...有人说,这么并不会给收录带来什么好处,完全是一样。但是现在比较流行这个,有一些人喜欢,那么作为一个分页控件来说,支持这种分页方式也就是必须了。   ...URL分页里,可以直接获取DataTable,这样我们可以直接在页面里遍历DataTable了。当然如果你不喜欢可以不用是比较喜欢这种方式。 另外还可以直接获取一个实体类——WebList2。...您可以实现这个接口,换成你自己数据访问方式。   有了这个接口,至少在理论上支持更换其他数据访问类库了。   您可能会问了,QuickPagerSQL有没有接口?

1.1K80

面向对象设计 10 条戒律

不,这不是上帝说。 这也不是Jon Skeet / Martin Fowler / Jeff Atwood / Joel Spolsky(可以用你最喜欢技术专家替换这些名字)说。...不知道你有没有见到过那些长篇大论冗余类和方法,当将它们写到纸上时候,简直就是懒婆娘裹脚布——又臭又长?好吧,我们要提出观点是不要这样。 该原则要点就是每个类或方法都有一个存在理由。...III.尝试使用组合优于继承 如果不能正确地遵循这一条原则,那么可能会导致脆弱类层次。这个原则真的很简单,只需要问一个问题——如果要看子类,那么能不能说“Child是Parent一种类型?”...如果不能正确遵守,则会导致紧密耦合,从而创建出更难改变系统。 X.遵循好莱坞原则:Don’t Call Us, We’ll Call You 这能够打破条件流逻辑模型,允许基于事件执行代码。...这要么通过事件回调,要么通过注入接口实现来完成。依赖注入,控制反转或观察者设计模式都是这个原则好例子。这个原则促进了类之间松散耦合,使得实现非常可维护。

52830

服务器永恒之蓝病毒解决方法_永恒之蓝病毒作者

和业务开发一样,只要量一上来,什么都是问题 如果仅仅把自己工作定位于帮开发准备一下机器,部署一下应用,删一删垃圾文件,再盯一盯机器 然后,这些事情时候就按照最普通手工方法一步一步,一个人做不来...,那挑战就更多了 此外,突发事故处理也是极需要技术和经验,这里挑战很多,技术和经验积累不必多说 另外觉得很关键一点是,运维有没有渗透到业务开发中 总结来说就是一句话——就看你喜不喜欢挑战。...如果你喜欢挑战,那就是有趣;否则,就是个打杂 张麒,System Admin 认为运维是打杂公司,他们内部IT一般不会好,有可能一团糟 首先从运维工作性质来讲,在任何公司都是一种“服务型“岗位...review并且可以让dev打回去重写 最后回到有趣没趣问题上: 有趣没趣?...如果你喜欢挑战,喜欢对所有的事情都问个“为什么” 喜欢一些没人知道也没人告诉你该怎么事情,上alexa找top100公司去做他们运维,绝对有趣 陈永保,The dark side of the

1.7K20

虚拟茶话会(1):初次实现

使用Python创建这种程序方式有很多,一种简单而自然方法是使用框架Twisted,其核心是LineReceiver类。在本项目中,将只使用标准库中异步网络编程模块。...将采取保守做法,选择使用asyncore和asynchat。如果你愿意,可以尝试使用其他方法(如分叉或线程化),甚至可以使用模块asyncio重写这个项目。...要让服务器点有趣事情,必须调用其方法create_socket来创建一个套接字,还需调用其方法bind和listen将套接字关联到特定端口让套接字监听到来连接(毕竟这是服务器要做事情)。...另外,还需重写事件处理方法handle_accept,让他在服务器接收客户端连接时做些事情。最终程序如图所示。 ? 方法handle_accept调用self.accept,以允许客户端连接。...为此,可重写事件处理方法handle_close。第一个原型最终代码如图所示。 ? ? ?

83010

Java基础之——Lambda表达式

相对而言,面向对象过分强调 “必须通过对象形式来做事情”,而函数式思想则尽量忽略面向对象复杂语法——强调做什么,而不是以什么形式。...面向对象思想: 一件事情,找一个能解决这个事情对象,调用对象方法,完成事情。 函数式编程思想: 只要能获取到结果,谁去做,怎么都不重要,重视是结果,不重视过程。...---- 3、 编程思想转换 3.1、做什么,而不是怎么 我们真的希望创建一个匿名内部类对象吗?不。我们只是为了这件事情而不得不创建一个对象。...我们真正希望事情是:将 run 方法体内代码传递给 Thread 类知晓。 传递一段代码——这才是我们真正目的。而创建对象只是受限于面向对象语法而不得不采取一种手段方式。...从代码语义中可以看出:我们启动了一个线程,而线程任务内容以一种更加简洁形式被指定。 不再有 “不得不创建接口对象束缚,不再有 “抽象方法覆盖重写负担,就是这么简单!

32860

以后有机会写框架用得着

对JS来说,对象是一个天然字符串哈希表,而集合很容易在哈希表上实现,因此只需要处理掉Object内置方法,我们就可以实现一个高效集合或哈希表。 3....处理好这些兼容性基础上,可以进一步工作,提供一些常用实现。...拖动效果则是浏览器中一个很重要效果,用鼠标事件来模拟本来很容易,不过兼容和setCapture也是很麻烦事情。这一部分内容量力而为就可以了。 6....慎用prototype扩展 很多框架利用修改原生对象prototype来语言扩展,但我认为应当小心地看待这件事,毫无疑问这将造成一定命名污染,你无法保证框架使用者或者与你框架共存其他框架不会使用同样名字来完成其他事情...保持和原生对象一致 不知你有没有注意到,内置对象Function Array等都有这样性质:new Function()跟Function结果完全一致(String Number Boolean这种封装型对象没有这样性质

50850

JDK1.9-Lambda表达式

相对而言,面向对象过分强调“必须通过对象形式来做事情”,而函数式思想则尽量忽略面向对象复杂语法——强调做什么,而不是以什么形式。...面向对象思想: ​ 一件事情,找一个能解决这个事情对象,调用对象方法,完成事情....3.3 编程思想转换 做什么,而不是怎么 我们真的希望创建一个匿名内部类对象吗?不。我们只是为了这件事情而不得不创建一个对象。...我们真正希望事情是:将run方法体内代码传递给Thread类知晓。 传递一段代码——这才是我们真正目的。而创建对象只是受限于面向对象语法而不得不采取一种手段方式。那,有没有更加简单办法?...从代码语义中可以看出:我们启动了一个线程,而线程任务内容以一种更加简洁形式被指定。 不再有“不得不创建接口对象束缚,不再有“抽象方法覆盖重写负担,就是这么简单!

48320

JavaScript中箭头函数

可以在每次调用该函数时都这样,而不需要一次又一次地重写菜谱。...你可以把函数存储在变量中,把它们作为参数传递给其他函数,并从其他函数中把它们作为值返回。你可以使用JavaScript箭头函数来所有这些事情。 无圆括号语法 在上述示例中,函数是没有参数。...你可以把所有内容放在一行,去掉大括号,移除return关键字。 你已经在上面的示例中看到了这些漂亮一行代码是如何工作。...它们从父级继承this值,正是因为这个特点,在上面这种情况下就是很好选择。 不正常工作情况 箭头函数并不只是在JavaScript中编写函数一种花里胡哨方法。...考虑这个netflixSeries对象,上面有一些属性和一系列方法。调用console.log(netflixSeries.getLikes()) 应该会打印一条信息,说明当前喜欢的人数。

2.1K20

分享一些中不错问答,应该会有收获~

不是很有钱,但我是一个高薪软件工程师,按照自己时间表喜欢事情没有受伤。 但同样重要是,100%相信许可证是Linux(和Git)成功重要组成部分。...但如果你有特殊要求,真正影响项目的唯一方法就是参与。 这让每个人都保持诚实,包括。任何人都可以分叉项目,走自己路,然后说"再见Linus,正在接管我Linux版本维护"。...不太关心发行版 - 对来说,这主要是一种在机器上安装Linux设置所有工具方法,这样可以替换内核并进行工作。 JA:内核中是否有任何不是最优,但需要完全重写才能正确解决?...由于我认为向后兼容性非常重要,因此即使在重写中也要保留这些兼容性。 显然有很多事情是"不理想",因为任何事情可以改进,但是你表达问题方式,不得不说不,那里没有什么是鄙视。...事实证明,对来说,这最终没什么大不了很快就停止了这样,因为只是从根本上懒惰。非常善于阅读补丁理解它们作用,然后就应用它们。因此,控制狂日子很快就结束了。

45810

Java8中Lambda函数式编程详解

相对而言,面向对象过分强调“必须通过对象形式来做事情”,而函数式思想则尽量忽略面向对象复杂语法——强调做什么,而不是以什么形式。...面向对象思想: 一件事情,找一个能解决这个事情对象,调用对象方法,完成事情....编程思想转换 做什么,而不是怎么 我们真的希望创建一个匿名内部类对象吗?不。我们只是为了这件事情而不得不创建一个对象。我们真正希望事情是:将run方法体内代码传递给Thread类知晓。...传递一段代码——这才是我们真正目的。而创建对象只是受限于面向对象语法而不得不采取一种手段方式。那,有没有更加简单办法?...从代码语义中可以看出:我们启动了一个线程,而线程任务内容以一种更加简洁形式被指定。 不再有“不得不创建接口对象束缚,不再有“抽象方法覆盖重写负担,就是这么简单!

42520
领券