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

高级前端手写面试题汇总

:判断调用对象是否为函数,即使我们是定义函数原型上,但是可能出现使用 call 等方式调用情况。...,使用 enhancedObject 函数处理过对象,我们就可以方便地访问普通对象内部深层属性。...数组去重实现基本原理如下:① 初始化一个空数组② 将需要去重处理数组第1项初始化数组查找,如果找不到(空数组中肯定找不到),就将该项添加到初始化数组③ 将需要去重处理数组2初始化数组查找...与eval相同字符串参数特性var func = new Function(arg1, arg2, ..., functionBody);转换JSON实际应用,只需要这么做var jsonStr...,但是实际编程并不推荐使用手写 Promise.thenthen 方法返回一个新 promise 实例,为了 promise 状态发生变化时(resolve / reject 被调用时)再执行

75910

关于一些Java基础知识整理

实现Runnable接口因为类只支持单方面的继承,所以第一种创建线程方法一定局限性,而接口可以实现多个。...定义一个Runnable接口实现类,并重写该接⼝run()⽅法,我们所重写run()⽅法⽅法体同样是该线程线程执行体;创建 Runnable实现类实例对象使用Thread参构造方法创建线程实例...目录 r w x含义,r具有ls(列出目录下文件)权限,w是目录上可以增加、删除、创建权限,x是具有ls –l(以长格式形式查看当前目录下所有可见文件属性)权限。数字如何表示权限呢?...浅拷贝只拷贝一层,更深层次对象级别只拷贝引用地址。浅拷贝对象发生改变,原来对象也会发生相同改变。什么时候用不到索引如果面试官问到这里,可能是想要问最左匹配原则。...2.查询条件为a=1 and b>1 and c=1 ,由于是范围查找,a和b走索引,c不走索引3.查询条件为b=1查询也不会走索引子集分享一道最近面试问到算法题。

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

金九银十: 50 个JS 必须懂面试题为你助力

问题2什么 Javascript JavaScript 是一种轻量级解释型编程语言,具有面向对象特性,允许各位在其他静态HTML页面构建交互性。...问题25:JS定义变量方法哪些 JS 声明变量三种方式: var – var 语句用于声明一个变量,咱们可以选择初始化该变量值。...严格模式是代码引入更好错误检查一种方法使用严格模式,不能使用隐式声明变量,或为只读属性赋值,或向不可扩展对象添加属性。...delete操作符用于删除对象属性。X是一个具有foo属性对象,由于它是一个自调用函数,所以咱们将从对象X删除foo属性。...这样做之后,咱们试图引用一个被删除foo属性,结果是undefined。

6.5K31

java基础第十四篇之Map

key);//删除一个键值对(根据键来删除) * * 3.改:实际上就是put方法,只要put时候键和map集合中原有的键重复,就可以达到改目的 * * 4.查 *...System.out.println(key+"="+value); } * 练习1:使用map存储:键为学号,值为一个学生对象,学生对象属性(姓名,年龄) *...一般开发时候不需要对存储元素排序,所有开发时候大多用HashSet,HashSet效率比较高 TreeSet面试时候比较多,问你几种排序方式,和几种排序方式区别? 2....让容器自身具有比较性 元素本身不具有比较性或者具备比较性不是所需要,就在TreeSet建立实例时候,传入Comparator接口实现子类实例。...(开发HashMap比较多) Collection List(存取有序,索引,可以重复) ArrayList:底层是数组实现,线程不安全,查找和修改快,增和删比较慢

33530

RxJava一些入门学习分享

这个组织负责维护,比较流行RxJava/RxJS/Rx.NET,社区网站是 reactivex.io。...同时RxJava采用了函数式编程风格,序列变换方法和响应事件方法,都大量使用了Java函数式接口,并把变换要处理线程同步,IO阻塞,异常处理等逻辑都封装进操作符方法里,不同变换方法可以链式连续调用...代码,map方法通过传入一个实现Func1接口对象,能把原事件序列上事件一对一映射成新类型事件,Func1接口是一个函数式接口,只有一个回调方法call,回调方法一个参数和一个返回值(除此之外还有...flatmap方法,把String对象所有字符转换成char类型ArrayList映射方法最后返回一个把转换得到ArrayList作为发送事件列表Observable,这样就实现了一对多变换...,利用这个拓展库,可以更方便使用RxJava开发Android应用程序(RxAndroid其实只提供了几个类和方法,源码也是用RxJava实现,比较简单,真正使用的话,可以只用RxJava,对RxAndroid

1.2K100

50 个JS 必须懂面试题为你助力金九银十

问题25:JS定义变量方法哪些 JS 声明变量三种方式: var – var 语句用于声明一个变量,咱们可以选择初始化该变量值。...严格模式是代码引入更好错误检查一种方法使用严格模式,不能使用隐式声明变量,或为只读属性赋值,或向不可扩展对象添加属性。...问题44:如何在JS清空数组 许多方法可以用来清空数组: 方法一: arrayList = [] 上面的代码将把变量arrayList设置为一个新空数组。...delete操作符用于删除对象属性。X是一个具有foo属性对象,由于它是一个自调用函数,所以咱们将从对象X删除foo属性。...这样做之后,咱们试图引用一个被删除foo属性,结果是undefined。

4.4K30

金九银十面试归来:这是一份用心整理Android面试总结

ArrayList与Vector区别和适用场景 ArrayList三个构造方法: public ArrayList(int initialCapacity)//构造一个具有指定初始容量空列表。...2.如果集合元素数目大于目前集合数组长度集合中使用数据量比较大数据,用Vector一定优势。...3.HashSet要求放入对象必须实现HashCode()方法,放入对象,是以hashcode码作为标识,而具有相同内容String对象,hashcode是一样,所以放入内容不能重复。...插件化相关技术,热修补技术是怎样实现,和插件化什么区别 相同点: 都使用ClassLoader来实现加载功能类,都可以使用PathClassLoader与DexClassLoader 不同点...2.Java集合哪些?解释一下HashMap?底部数据结构?散列表冲突处理方法,散列表是一个什么数据结构?HashMap是采用什么方法处理冲突?

50030

掌握这些前端手写面试题能进大厂吗

数组去重实现基本原理如下:① 初始化一个空数组② 将需要去重处理数组第1项初始化数组查找,如果找不到(空数组中肯定找不到),就将该项添加到初始化数组③ 将需要去重处理数组2初始化数组查找...节流可以使用在 scroll 函数事件监听上,通过事件节流来降低事件调用频率。...s.concat(repeat(s, --n)) : "";}手写 instanceof 方法instanceof 运算符用于判断构造函数 prototype 属性是否出现在对象原型链任何位置。...与eval相同字符串参数特性var func = new Function(arg1, arg2, ..., functionBody);转换JSON实际应用,只需要这么做var jsonStr...,但是实际编程并不推荐使用解析 URL Params 为对象let url = 'http://www.domain.com/?

53430

反应式编程详解

[ 图2 google趋势搜索结果 ] 中国主要是北上广深和杭州,说明什么,这些技术还是一线城市开发同学才会使用,查看左下角主要是主题都是java相关,查看右上角,浙江省用得比较多,说明阿里是主要使用方...[图5 适用场景 ] Rx 适用于前端,跨平台,后端等场景,其中Angular 2.x,vue,react版本已经Rx实现可以使用,并且作为其核心特性宣传;Rx支持多达18种语言,各平台都可以使用...2.3 创建流 RxPy 10 种用于创建 Observable 操作符,如下: create – 使用 observer 方法,从头创建一个 Observable, observer 方法检查订阅状态...这两个操作使用场景很好区分,转换过程是同步过程使用 map,转换过程是异步过程使用 flat_map。...事件驱动和反应式编程区别:事件驱动式编程围绕事件展开,反应式编程围绕数据展开 构建传统基于事件系统,我们经常依赖于状态机来决定什么时候从事件退订,Rx允许我们以声明方式指定结束条件事件流

2.8K30

2018-05-03 Java高级面试题及答案各自子类比较对比一:

适用场景分析:需要对数据进行对此访问情况下选用ArrayList需要对数据进行多次增加删除修改时采用LinkedList。...因此,ArrayList性能比Vector好。 2Vector或ArrayList元素超过它初始大小时,Vector会将它容量翻倍,而ArrayList只增加50%大小,这样。...如果不考虑到线程安全因素,一般用ArrayList效率比较高。 2、如果集合元素数目大于目前集合数组长度集合中使用数据量比较大数据,用Vector一定优势。...3.HashSet要求放入对象必须实现HashCode()方法,放入对象,是以hashcode码作为标识,而具有相同内容String对象,hashcode是一样,所以放入内容不能重复。...为什么要用线程池那先要明白什么是线程池线程池是指在初始化一个多线程应用程序过程创建一个线程集合,然后需要执行新任务重用这些线程而不是新建一个线程。

70550

详解Java面向对象编程

构造器名称总是和类名称相同,但是,构造器可以参数,通过构造器可以应用使用对象之前设置对象初始状态。...Java,多态本质上有两种类型: 2.4.1 编译期多态 在编译期多态,编译器可以在编译为指定对象绑定合适方法,因为编译器程序编译就知道了必要信息来确定调用哪个方法。...{ return s1.concat(s2); } } 2.4.2 运行期多态 在运行期多态,调用一个覆写方法是在运行时动态处理。...这两者都可以独立创建和删除,因而,一个老师离开学习,我们不必去删除任何学生,同理,一个学生离开了学校,我们也不必删除任何老师。 3.4 聚合 聚合指的是具有独生命周期但相互拥有所有权两个对象。...4.3 不要重复造轮子 不要编写重复代码,一定要使用抽象来抽取某一方面的共性。 作为一条经验法则,如果你两个地方编写了相同代码,考虑抽取共性到另一个方法,并在这两个地方调用这个方法

37920

recycleview优化_recyclerview原理

具体实现方式是: RecyclerView 开始一个滚动new Runnable对象,根据 layout manager 和滚动方向预取即将进入视野条目,可以同时取出一个或多个条目,例如在使用...该方法在数据预取开启被 RecyclerView 调用(LayoutManager 默认实现什么都不做)。...7.2 复用RecycledViewPool TabLayout+ViewPager+RecyclerView场景多个RecyclerView相同item布局结构,多个RecyclerView...什么时候LayoutManager会从RecyclerView上分离呢,两种情况:1)重新setLayoutManager(),比如淘宝页面查看商品列表,可以线性查看,也可以表格形式查看,2)还有一种是...RecyclerView会在构造方法调用setFocusableInTouchMode(true), 抢占焦点后一定会定位到第一行位置,可以NestedScrollView添加属性:android

3.6K20

滴滴前端高频面试题

使用构造函数新建一个对象后,在这个对象内部将包含一个指针,这个指针指向构造函数 prototype 属性对应值, ES5 这个指针被称为对象原型。...白屏定义多种。可以认为“没有任何内容”是白屏,可以认为“网络或服务异常”是白屏,可以认为“数据加载”是白屏,可以认为“图片加载不出来”是白屏。场景不同,白屏计算方式就不相同。...方法1:页面的元素数小于x,则认为页面白屏。比如“没有任何内容”,可以获取页面的DOM节点数,判断DOM节点数少于某个阈值X,则认为白屏。 方法2页面出现业务定义错误码,则认为是白屏。...方法3:页面出现业务定义特征值,则认为是白屏。比如“数据加载”。说一下SPA单页面有什么优缺点?...原型JavaScript对象都有一个特殊 prototype 内置属性,其实就是对其他对象引用几乎所有的对象创建 prototype 属性都会被赋予一个非空值,我们可以把这个属性当作一个备用仓库试图引用对象属性时会出发

1.1K20

java之集合那些事

hashCode方法重写规则: 1、程序运行过程,同一个对象多次调用 hashCode()方法应该返回相同值。...2两个对象通过 equals方法比较返回tue,这两个对象 hashCode()方法应返回相等值 3、对象中用作 equals方法比较标准实例变量,都应该用于计算 hashCode值。...HashSet性能总是比 TreeSet好(特别是最常用添加、查询元素等操作),因为 TreeSet需要额外红黑树算法来维护Set,才应该使用 TreeSet,否则都应该使用 HashSet。...ArrayList和Vertor底层是用数组实现ArrayList或 Vector对象使用 initialCapacity参数来设置该数组长度,ArrayList或 Vector添加元素超出了该数组长度...offer(Object e) 将元素加入到队列尾部,使用容量有限队列,此方法比add效果好 Object peek() 获取头部元素,但是不删除 Object poll() 获取头部元素,并删除该元素

47530

Android仿QQ个人标签添加与删除功能

最近在公司项目开发一个类似于QQ个人标签需求要完成,具体包括个人标签添加,删除,添加过程重复标签会提示用户,不能够进行添加。先给大家看一下效果图。 ?...点击标签按钮,弹出标签选择页面,显示所有的标签;点击全部标签里面的item,选择标签会显示在上方;再次点击相同标签进行添加,会提示用户“标签已存在,请重新添加”;点击上方已经选择好标签,进行删除操作...viewHolder来优化Gridview,原理就是convertView复用:第一次创建convertView对象,便把item子View控件对象实例化出来并保存到ViewHolder对象(...然后用convertViewsetTag将viewHolder对象设置到Tag以后再次加载ListViewitem便可以直接从Tag取出ViewHolder对象,不需要每次都去获取item...给上面Gridviewitem绑定监听器,处理点击删除操作,调用是listremove(position)方法删除方法执行以后,再调用一下刷新方法。最后运行效果和刚开始图片一样。

87210

zookeeper应用

通过上一篇学习,对zookeeper大致了一些了解,但是想在实际开发与合适业务场景中使用,还是需要依赖更多深入学习,同时项目中不断实实践,发现问题并解决,才能对技术更清晰与独特见解。...: zk.delete("/node",-1) 关于zkapi其实不多,但是我们需要知道什么情况如何搭配使用,上面主要是通过同步方式操作,当然我们创建节点、设置数据、删除节点可以通过回调函数实现异步操作...其实对节点访问控制主要是什么对象对该节点什么操作,那么什么对象我们用Id表示,节点则是当前创建node,而操作则有rwacd(READ\WRITE\ADMIN\CREATE\DELETE)。...而ACL表达式一般格式为:scheme:id:perm,zk客户端我们可以这样来对节点设置acl。...命名服务 由于zookeeper节点(路径)唯一性,我们可以创建唯一服务命名;同时分布式环境,还可以借助节点数据版本创建有序分布式id

67210

Java8编程思想精粹(十)-容器(上)

使用 ArrayList get() 方法来取出你认为是 Apple 对象,得到其实是 Object 引用,必须转型为 Apple。...因此,使用泛型,你不仅知道编译器将检查放入集合对象类型,而且使用集合对象可以获得更清晰语法。 泛型下向上转型 指定了某个类型为泛型参数,并不仅限于只能将确切类型对象放入集合。...常用方法 可以使用 contains() 方法确定对象是否列表 如果要删除一个对象可以将该对象引用传递给 remove() 方法 如果有一个对象引用,可以使用 indexOf() List...中找到该对象所在位置下标号 确定元素是否是属于某个 List ,寻找某个元素索引,以及通过引用从 List 删除元素,都会用到 equals() 方法。...使用索引号来删除元素与通过对象引用来删除元素相比,显得更加直观,因为使用索引,不必担心 equals() 行为。 removeAll() 方法也是基于 equals() 方法运行

1.2K41

Java 编程思想第十二章 - 容器持有对象

使用 ArrayList get() 方法来取出你认为是 Apple 对象,得到其实是 Object 引用,必须转型为 Apple。...因此,使用泛型,你不仅知道编译器将检查放入集合对象类型,而且使用集合对象可以获得更清晰语法。...常用方法: 可以使用 contains() 方法确定对象是否列表 如果要删除一个对象可以将该对象引用传递给 remove() 方法 如果有一个对象引用,可以使用 indexOf() List...中找到该对象所在位置下标号 确定元素是否是属于某个 List ,寻找某个元素索引,以及通过引用从 List 删除元素,都会用到 equals() 方法。...使用索引号来删除元素与通过对象引用来删除元素相比,显得更加直观,因为使用索引,不必担心 equals() 行为。 removeAll() 方法也是基于 equals() 方法运行

1.3K20
领券