分析一下call的使用方法:call是显示绑定this指向,然后第一个参数是你所指向的this对象,后面跟着多个参数,以逗号隔开 function sum(num1,num2){ return num1 + num2 } sum.call({},1,2) // 3 上面是一个最简单的call使用方法,call的第一个参数,可以是对象,可以是数字,可以是空对象 当call的第一个参数是undefined或者是null时,他的指向是window 接下来就一步步的开始手写一个简单的call 首先第一步…
函数原型链中的 apply,call 和 bind 方法是 JavaScript 中相当重要的概念,与 this 关键字密切相关,相当一部分人对它们的理解还是比较浅显,所谓js基础扎实,绕不开这些基础常用的API,这次让我们来彻底掌握它们吧! 目录 call,apply,bind的基本介绍 call/apply/bind的核心理念:借用方法 call和apply的应用场景 bind的应用场景 中高级面试题:手写call/apply.bind call,apply,bind的基本介绍 语法: fu…
优雅手撕bind函数 前言: 为什么面试官总爱让实现一个bind函数? 他想从bind中知道些什么? 一个小小的bind里面内有玄机? 今天来刨析一下实现一个bind要懂多少相关知识点,也方便我们将零碎的知识点串联起来. 看完有用的同学记得点个赞再走,您的鼓励-我莫大的动力 看完能学到什么 实现bind new原理 本文章的叙事步骤 bind函数作用 模拟bind的要点 实现思路 new函数特殊情况(this&父原型) -------------人工分割线------------- bind函数…
一.前言    不知道大家还记不记得前几篇的文章:<面试官:能解释一下javascript中的this吗> 那今天这篇文章虽然是介绍javascript中bind.apply和call函数,但是多少也和this有点关联. 假如在前面那场面试末尾,面试官不依不饶继续问你javascript中的this,那看完本篇文章后一定还会有收获. (本篇文章不会站在this的角度去回答问题,而是重于解释bind.apply和call这三个函数的用法和使用场景) 二.正戏开始 面试官:能解释一下javascr…
单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例. 今天我们不谈单例模式的用途,只说一说如果在面试的时候面试官让你敲一段代码实现单例模式的情况下怎样写出让面试官眼前一亮的单例代码.因为笔者学的是Java,所以接下来的实例将用Java语言编写. 说到单例模式,第一个想到的是该类中有一个初始化为null的自身引用,且被private修饰符修饰,其它类不得直接访问.除此之外,单例模式的类还需要有private的构造方法,这一点…
前言: 对于职场来说,简历就如同门面.若是没想好,出了差错,耽误些时日倒不打紧,便是这简历入不了HR的眼,费力伤神还不能觅得好去处,这数年来勤学苦练的大好光阴,岂不辜负? 简历,简而有力.是对一个人工作经验的简单介绍.对公司而言,在挑选人才时,可以通过简历对人才有整体认识,减少人才误用的风险.而对于个人来说,借着撰写简历,重新经历自己的过去.审视收获和缺憾,为面谈预先作好准备,来找到一份适合自己的理想工资. 作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的iOS交流群:6383…
公众号[程序员江湖] 作者陆小凤,985 软件硕士,阿里 Java 研发工程师,在技术校园招聘.自学编程.计算机考研等方面有丰富经验和独到见解,目前致力于分享程序员干货和学习经验,同时热衷于分享作为程序员的一些成长心得和生活感悟. 关注后在后台回复"资料"即可领取3T免费技术学习资料(包含作者的原创文章合集) 简历准备需要做打持久战的准备,绝对不是一蹴而就的事情.简历需要反复打磨和修改,在几年的面试过程中,我总结了一些简历的书写标准,供大家参考. 我最早的一份简历是大学找工作的时候准备…
再我们现在项目中Spring框架是目前各大公司必不可少的技术,而大家都知道去怎么使用Spring ,但是有很多人都不知道SpringIoc底层是如何工作的,而一个开发人员知道他的源码,底层工作原理,对于我们对项目的理解是有非常大的帮助的,有可能工作了两三年的中级工程师,乃至四五年的,只知其然,却不知其所以然.我的一个盆友,今年年初以实习生的身份去北京面试 ,面试官让我的朋友说Spring源码,作为一个实习生,就要去知道Spring的源码.虽然我们可以不用知道,也可以做项目,但他会成为我们面试结果…
在大多的JD(职位介绍)里,会写明该职位需要xx时间的相关经验,换句话说就是需要在简历中看到一定年限的相关商业项目经验,否则估计连面试的机会都没. 在本文里,不讨论这种门槛是否合理,而会以Java相关经验为例,说说面试官甄别真实商业项目的方式,并以此为基础讲述在简历中描述项目的要点,并进一步给出在面试中介绍项目的相关技巧. 1 和学习项目相比,商业项目为什么值钱? 为什么在筛选简历和面试过程中要甄别学习项目还是商业项目? 1  学习项目里,只要跑通正常流程,无需考虑异常处理机制,也无需经过高并发…
前言科普 第一篇二分搜索论文是 1946 年发表,然而第一个没有 bug 的二分查找法却是在 1962 年才出现,中间用了 16 年的时间. 2019 年的你,在面试的过程中能手写出没有 bug 的二分查找法么? 定义 在计算机科学中,二分查找(英语:binary search),也称折半搜索(英语:half-interval search).对数搜索(英语:logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法. 搜索过程从数组的中间元素开始,如果中间元素正好是要…
公众号[程序员江湖] 作者陆小凤,985 软件硕士,阿里 Java 研发工程师,在技术校园招聘.自学编程.计算机考研等方面有丰富经验和独到见解,目前致力于分享程序员干货和学习经验,同时热衷于分享作为程序员的一些成长心得和生活感悟.        简历准备需要做打持久战的准备,绝对不是一蹴而就的事情.简历需要反复打磨和修改,在几年的面试过程中,我总结了一些简历的书写标准,供大家参考. 我最早的一份简历是大学找工作的时候准备的.当时能写在简历上的东西屈指可数,就算有也都不是什么能拿得出的经历. 等到…
前言 本文收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识. 你好,我是彤哥. 上一节,我们一起学习了关于跳表的理论知识,相信通过上一节的学习,你一定可以给面试官完完整整地讲清楚跳表的来龙去脉,甚至能够边讲边画图. 然而,面试官说,既然你这么精通跳表,不如实现一个呗^^ 我,我,实现就实现,谁怕谁,哼~~ 本节,我将通过两种方式手写跳表,并结合画图,彻底搞定跳表实现的细节. 第一种方式为跳表的通用实现,第二种方式为彤哥自己发明的实现,并运用到HashMap的改写…
手写HashMap?这么狠,面试都卷到这种程度了? 第一次见到这个面试题,是在某个不方便透露姓名的Offer收割机大佬的文章: 这--我当时就麻了,我们都知道HashMap的数据结构是数组+链表+红黑树,这是要手撕红黑树的节奏吗? 后来,整理了一些面经,发现这道题在快手的面试出现还比较频繁,分析这道题应该在快手的面试题库.那既然频繁出,肯定不能是手撕红黑树--我觉得面试官也多半撕不出来,不撕红黑树,那这道题还有点救,慢慢往下看. 认识哈希表 HashMap其实是数据结构中的哈希表在Java里的实…
哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 今天清明假期,赶上北京玉渊潭公园樱花盛开,女朋友非要拉着我去看樱花,我头一天晚上干文章到三点半,我很想睡觉,但是没办法,军令难违呀. 来到这里犹如来到了花的海洋,让我浑身的艺术细菌开始躁动,我忍不住吟诗一首"樱花落尽子规啼.闻道龙标过五溪,我寄愁心与明月.随君直到夜郎西",啊,美丽的樱花啊. 这时旁边的公园管理员满是疑惑…
一. 序 Handler 机制算是 Android 基本功,面试常客.但现在面试,多数已经不会直接让你讲讲 Handler 的机制,Looper 是如何循环的,MessageQueue 是如何管理 Message 等,而是基于场景去提问,看看你对 Handler 机制的掌握是否扎实. 本文就来聊聊 Handler 中的 IdleHandler,这个我们比较少用的功能.它能干什么?怎么使用?有什么合适的使用场景?哪些不是合适的使用场景?在 Android Framework 中有哪些地方用到了它?…
目录 1 场景引入 2 代码优化 2.1 解决增加粉丝问题 2.2 解决添加作品问题 3 观察者模式 4 经纪人登场 5 发布订阅模式 6 观察者模式和发布订阅模式的对比 什么是发布订阅模式?能手写实现一下吗?它和观察者模式有区别吗?... 1 场景引入 我们先来看这么一个场景: 假设现在有一个社交平台,平台上有一个大V叫Nami Nami很牛,多才多艺,目前她有2个技能:会写歌.会拍视频 她会把这些作品发布到平台上.关注她的粉丝就会接收到这些内容 现在他已经有3个粉丝了,分别是:Luffy.Z…
前言 面试官出很多考题,基本都会变着方式来考察this指向,看候选人对JS基础知识是否扎实.读者可以先拉到底部看总结,再谷歌(或各技术平台)搜索几篇类似文章,看笔者写的文章和别人有什么不同(欢迎在评论区评论不同之处),对比来看,验证与自己现有知识是否有盲点,多看几篇,自然就会完善自身知识. 附上之前写文章写过的一段话:已经有很多关于this的文章,为什么自己还要写一遍呢.学习就好比是座大山,人们沿着不同的路登山,分享着自己看到的风景.你不一定能看到别人看到的风景,体会到别人的心情.只有自己去登山…
版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客: http://blog.csdn.net/finddreams/article/details/44513579 一般的面试流程是笔试完就接着是面试了,面试时技术经理会问你一些你工作中遇到的Android方面的问题,谈谈你所做的项目,和在项目中所扮演的角色.今天我就给大家整理一些,面试中常见的面试官提的一些问题? 1.要做一个尽可能流畅的Li…
版权声明:本文为寻梦-finddreams原创文章,请关注: http://blog.csdn.net/finddreams/article/details/44513579 一般的面试流程是笔试完就接着是面试了,面试时技术经理会问你一些你工作中遇到的Android方面的问题,谈谈你所做的项目,和在项目中所扮演的角色.今天我就给大家整理一些,面试中常见的面试官提的一些问题? 1.要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的? ①Item布局,层级越少越好,使用hierarc…
少点代码,多点头发 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues. https://github.com/midou-tech/articles 三次握手建立链接,四次挥手断开链接.这个问题算非常经典的问题,也是面试官非常喜欢问的问题. 不夸张的说,龙叔在校招面试的时候每一家公司都问到过关于三次握手和四次挥手相关的问题,相信大家也都差不多被面试官各种怼. 这个问题的重要性,已经意识到.不说废话了,接下来就是听龙叔给你安排的明明白白. 先画个图,看下TCP的建立连接 和…
前言 Ym8V9H.png (高清无损原图.pdf关注公众号后回复 ThreadLocal 获取,文末有公众号链接) 前几天写了一篇AQS相关的文章:我画了35张图就是为了让你深入 AQS,反响不错,还上了博客园首页编辑推荐,有生之年系列呀,哈哈. image.png 这次趁热打铁再写一篇ThreadLocal的文章,同样是深入原理,图文并茂. 全文共10000+字,31张图,这篇文章同样耗费了不少的时间和精力才创作完成,原创不易,请大家点点关注+在看,感谢. 对于ThreadLocal,大家的…
写在前面 先说点题外话:不少读者工作几年后,仍然在使用Java7之前版本的方法,对于Java8版本的新特性,甚至是Java7的新特性几乎没有接触过.真心想对这些读者说:你真的需要了解下Java8甚至以后版本的新特性了. 今天,一名读者出去面试,面试官问他:说说Java8中创建Stream流有哪几种方式?他竟然没回答上来!! Stream概述 Java8中有两大最为重要的改变.第一个是 Lambda 表达式:另外一个则是 Stream API(java.util.stream.*). Stream…
关注「松宝写代码」,精选好文,每日一题 ​时间永远是自己的 每分每秒也都是为自己的将来铺垫和增值 作者:saucxs | songEagle 来源:原创 一.前言 文章首发在「松宝写代码」 2020.12.23 日刚立的 flag,每日一题,题目类型不限制,可以是:算法题,面试题,阐述题等等. 本文是「每日一题」第 5 题:「每日一题」到底该如何回答:vue数据绑定的实现原理? 往期「每日一题」: 第 4 道「每日一题」与面试官手撕代码:如何科学高效的寻找重复元素? 第 3 道「「每日一题」面试…
[每日一题]面试官问:谈谈你对ES6的proxy的理解? 关注「松宝写代码」,精选好文,每日一题 作者:saucxs | songEagle 一.前言 2020.12.23 日刚立的 flag,每日一题,题目类型不限制,可以是:算法题,面试题,阐述题等等. 本文是「每日一题」第 8 题:[每日一题]面试官问:谈谈你对ES6的proxy的理解 往期「每日一题」: 第 7 题[每日一题]面试官问:for in和for of 的区别和原理? 第 6 题[每日一题]面试官问:Async/Await 如何…
服务端: public class NoBlockServer { public static void main(String[] args) throws IOException { // 1.获取通道 ServerSocketChannel server = ServerSocketChannel.open(); // 2.切换成非阻塞模式 server.configureBlocking(false); // 3. 绑定连接 server.bind(new InetSocketAddre…
「干货」面试官问我如何快速搜索10万个矩形?--我说RBUSH 前言 亲爱的coder们,我又来了,一个喜欢图形的程序员‍,前几篇文章一直都在教大家怎么画地图.画折线图.画烟花,难道图形就是这样嘛,当然不是,一个很简单的问题, 如果我在canvas中画了10万个点,鼠标在画布上移动,靠近哪一个点,哪一个点高亮.有同学就说遇事不决 用for循环遍历哇,我也知道可以用循环解决哇,循环解决几百个点可以,如果是几万甚至几百万个点你还循环,你想让用户等死?这时就引入今天的主角他来了就是Rbush RBUS…
why?call,apply,bind干什么的?为什么要学这个? 一般用来指定this的环境,在没有学之前,通常会有这些问题. var a = { user:"追梦子", fn:function(){ console.log(this.user); } } var b = a.fn; b(); //undefined 我们是想打印对象a里面的user却打印出来undefined是怎么回事呢?如果我们直接执行a.fn()是可以的. var a = { user:"追梦子&quo…
1.call(),apply(),bind()方法 JavaScript 中通过call或者apply用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象.简单的说就是改变函数执行的上下文,这是最基本的用法.两个方法基本区别在于传参不同. call(obj,arg1,arg2,arg3); call第一个参数传对象,可以是null.参数以逗号分开进行传值,参数可以是任何类型. apply(obj,[arg1,arg2,arg3]); appl…
上节我们一起研究了this这个小兄弟,得出一个结论,this指向调用this所在函数(或作用域)的那个对象或作用域.不太理解的朋友可以看看上节的内容,这次我们主要探讨一下call(),apply(),bind()三兄弟的用法.先上一波定义: 1.方法定义(摘自http://www.cnblogs.com/jingwhale/p/4604917.html?utm_source=tuicool&utm_medium=referral)call方法: 语法:call([thisObj[,arg1[,…
起源 自己经历过的面试也不少了,互联网的.外企的,都有.总结一下这些面试的经验,发现面试官问的问题其实不外乎几个大类,玩不出太多新鲜玩意的.细细想来,面试官拥有以下七种武器.恰似古龙先生笔下的武侠世界中的七种武器.下面我为各位一一道来. (欢迎转载.转载请注明出处:http://www.cnblogs.com/hzg1981/) 长生剑=语言基础 长生剑是七种武器之首,同理,编程语言的考察也是技术面试中最基本的.这条不满足的就直接Pass了.以Java为例,语言的考察大致可以分为三个层次: 初级…