快手高开及以上职级面试 是没有笔试或者机试的所以从第一轮开始就是直接面对面试官。
这个问题不妨把一个请求过来 在TCP层面上建立连接、操作系统如何处理连接、Web容器器接收到连接对象后做了哪些事情、Spring 如何对接收到的请求进行处理都说一下当然最终还是 落在Spring 容器内部如何处理一个请求这个过程一定要说清楚需要体现细节。在说前面的内容的时候可以放心面试官不会打断你。
这是一个考察数据结构的问题一方面需要候选人对数据结构有所了了解一方面也需要候选人对代码有驾驭能力(毕竟要手写代码)。面试官会给一定的时间在这段时间里面试官不会打扰你并尽可能为你提供方便比如签字笔不好用面试官会帮你更换。据我个人经验凡是面对需要写代码的问题都不要急着放弃静下心来仔细思考都是可以写得不错的。如果没能写出来面试官会问你实现思路路如果你的思路很优化一样可以过了这道题但是前提是你的代码不能一行都不写。
对于数据结构的考察的线c;我建议看一下 jdk中对于 List、Stack、Tree、Set 的实现比如至少你要知道如果让你实现一个单链表你会如何实现比如你可能会定义一个Node节点里面有当前节点的key和value还有对于下一个节点的引用。
这个问题需要你能画出JVM内存结构的图画出方法区、堆、程序计算器器、虚拟机栈、本地方法栈并说出每一个部分具体是什么作用比如哪些是线c;哪些是线c;哪些地方存放了什么数据为什么会这样存放哪些虚拟机参数对这些空间大小是有影响的可以如何配置。这些都比较常规。
这个基本上大多数公司都会考察的。要写一个 基于懒汉式的 双重检测的单例。单例有三个比较关键的点
全局访问点必须是静态的外界使用可以通过类直接调用
保存单例例对象的私有变量一定要用volatile修饰这个地方 可以多说一些比如 volatile防止指令重排序保证内存可见性(JVM层面 和 CPU层面 可以分别说)。volatile 这个地方能说的东西还是很多的基本上可以与面试官再聊二十分钟了。
对于 HashMap 其实一般高级岗位及以上不再会问这个东西了一旦问了肯定不是让你只说一下数组链表的。对于它的实现不同版本实现方式不一样。在jdk1.8之后HashMap 除了数组链表之外引入了红黑树。那么好了你需要说明对于引入了红黑树的 HashMap 如何put一个元素以及链表是在何时转化为红黑树的。比如首先需要知道这个元素落在哪一个数组里获取hashcode后并不是对数组长度取余来确定的而是高低位异或求与来得到的。这个地方首先得知道 异或、与是做什么样的运算的然后说一下在HashMap中的实现比如hashcode 无符号右移16位后和原hashcode 做异或运算这相当于把hashcode的高16位拿过来 和 hashcode的 低16位 做异或运算因为无符号右移后 前面高16位都补零这就是前面说的 高低位异或“进而是 ”求与“和谁求与呢和 数组长度减1 求与。
比如 我们知道 对于hashmap 初始化容量决定了数组大小一般我们对于数组这个初始容量的设置是有规律的它应该是 2^n 。这个初始容量的设置影响了HashMap的效率那又涉及到影响HashMap效率的主要因素比如初始容量和负载因子。当已用数组达到容量与负载因子的乘积之后会进行一个rehash的过程这个地方涉及到的 如何rehash 及各种算法如果有时间也是可以说的没有时间不说也没有关系。回到刚才说的 2^n, 可以说说它为什么是2^n。当我们说什么东西为什么是这样的时候我们一般从两个角度考虑一个是这样做有什么好处另一个是不这样做有什么坏处。我们刚才说到”求与“这个过程如果不是 2^n, 会导致较多的哈希碰撞(具体原因 可以自己分析一下 或者百度一下)这个会影响HashMap的效率。
说完上面这些既表明你看过源码又表明你有自己的思考了当然也可以进一步说说它是在什么条件下以及 如何进行扩容的如果时间允许并且面试官也有耐心继续听下去。对于put操作这才只是第一步找到数组的位置接下来 要看这个位置也没有元素如果没有直接放进去就可以如果有要看怎么放进去jdk1.8中 对于HashMap的实现中是基于Node(链表节点) 和TreeNode(红黑树节点) 的当然它们继承了Entry。那么 如果数组当前位置已经有了元素就得知道这个元素 是 链表的节点还是红黑树的节点以便便 进一步确认接下来要put的元素 是以链表的方式插入还是以红黑树的方式插入这个地方 在源码中 进行了一个类型的判断如果是链表的节点就以链表的方式把要put的节点插入到 next为null的节点上如果是红黑树的节点就要以红黑树的方式插入一个节点。接下来 其实不是考察的重点但是也可以说说
对于这两个问题首先 引入 红黑树的好处是为了提高查询效率要说出O(log2(n))但是 在提高查找效率的同时也在插入的时候更加耗时那可以说一下为什么更加耗时自然带出第二个问题如何在红黑树中插入一个节点比如当插入一个节点的时候我们会默认它是红色的(这个地方可以结合红黑树特点说一下我们为什么默认它是红色的从黑色高度以及相邻两节点不同为红色入手)插入后如果父节点是黑色的 就不需要动了了但假如是红色的就需要进行左旋和右旋操作如果很了解可以细说左旋右旋如何实现如果不不是很了了解到此为止也ok。
说到这里我们忽略略了一个重要的点就是链表转换为红黑树的条件说出 链表长度到8(相当于红黑树开始第四层) 以及 数组大小达到64 就已经够了了也可以进一步说一下 链表是如何转换为红黑树的。说完也可以说一下 ConcurrentHashMap中也是一样的然后接下来就引入对ConcurrentHashMap的理解比如在什么地方会涉及到线程安全问题以及ConcurrentHashMap是如何解决的说说CAS说完CAS再说说AQS自由发挥吧。
这个问题比较简单强引用、弱引用、软引用、虚引用说一下它们各自的特点和GC对它们的不同处理方式再说一下常见的应用场景 或者 jdk的实现中对它们的使用比如 ThreadLocal 的静态内部类 ThreadLocalMap它的Key是弱引用的也可以说一下 在你的理解中 为什么它是弱引用的假如不是 会怎么样。
这个主要是从它基于Spring的事件发布和监听机制开始说起 就没什么问题。
继续考察Java基础和对应用技术的掌握比如过往项目中所用的一些框架在这一轮中会被问到。
加载 链接 初始化链接又分为验证准备和解析每一个阶段 是做了什么 要说清楚。
Object a new Object() 这行代码做了了哪些事情需要从类加载开始说起这个相当于上面问题的延续所以 一定要清楚 每一个环节 做了哪些事情的否则这个问题不可能说清楚。说完类加载的过程 再说一下 开辟内存空间、初始化内存空间以及把内存地址赋值给变量a接下来可以进一步说一下JVM 或者CPU层面对指令的优化以及在某些时刻我们需要避免它做这样的优化比如在单例中我们的实例需要用volatile修饰 避免指令重排序(可以说一下 在new一个对象的过程中如果指令重排序了会导致什么结果)。
maven的熟练程度比如问问 scope 有哪些类型
消息队列列的熟练程度比如问问Kafka分区如何分区等等(因为我过往项目经验中写了kafka所以才会被问及如果写了其他消息队列也可能会被问及)
Netty从NIO开始说 肯定是没错的再说说Netty的实现方式以及它除了IO之外还干了哪些事情。
这就需要 在面试之前 把自己的做过的项目好好总结一下它们主要做的业务是什么解决了什么问题架构是什么样的以及你在其中做了哪些工作。这个地方一定要准备充分至少要能扛得住面试官三连问。否则会被认为 你不太清楚你们之前做的到底是什么那你在业务能力方面 可能是不太match的。
这个地方因人而异但无论怎样都不要什么都不问至少你要表现一点对于岗位的兴趣吧。
比如问一下 公司业务团队构成技术栈以及你所应聘的这个岗位大概做哪些工作
HR面试。这一轮可以说是斗智斗勇的一个环节会考察一些软技能、个人成长、职业素质也会问一下期望薪资。
计算机视觉的确现在竞争相当激烈,人才也显得“供大于求”,那要怎么提升技能,才能在“人才”中脱颖而出呢
试官。 一轮 主要考察对Java基础的理解和深入程度。 Spring 原理,Spring IOC、AOP。 这个问题 最好可以多说一点,比如 对于IOC,不妨把Bean 如何加载、如何初始化以及如何注册到IOC容器中的详细过程说一下, 涉及BeanDefin...
试经历: 美团我是在拉勾网上投的简历,之前也投过一次,简历都没通过删选,后来让学姐帮我改了一下简历,重新投另一个部门,获得了
试,说会在线写代码,让我准备好网络环境。 结果5点半还没打电话过来,被放鸽子。与hr重新沟通过后,确定下周一下午再
前言 2019年年初的时候我就开始偷偷投简历了。因为在现在的从事的即时通讯企业做的不开心了,客户产品善变,公司开会贼多。当然最关键的还是工资没给到位,事情都做了,却TMD不给升职加薪,因此心里窝火,也为了再次向社会证明我的价值和能力。 移动互联网的普及和智能终端设备的广泛应用,短视频、直播、在线等各类形式的实时音视频通信模式风靡大众,成为人们日常沟通的新模式。 已经形成南抖音北
试官。一轮主要考察对Java基础的理解和深入程度。Spring 原理,Spring IOC、AOP。这个问题...
并不是完整题库,但是有智鼎在线三个月的试题,有十七套以上题目,普通的网申行测题足以对付,可以在做题时自己
(POSITION)和角色(ROLE)几个概念往往混淆,其一是中文翻译的过程中,没有统一的标准,从而导致几个概念混淆,其二是对概念的含义的误解,希望通过本文的澄清,能对您认识这三者的关系有所裨益。 1、 首先来澄清三者的译文: (1)JOB,有的文献和书籍译为“职务”、有的译为“
文章目录深信服(ceph存储研发)旷世科技(ceph存储研发)百度 基础架构部(分布式存储研发工程师)
(基础架构:分布式存储研发工程师)金山云(分布式文件系统研发)阿里云(polardb 分布式存储研发) 本人从2.16号疫情期间开始投递简历到3.30结束找工作,基本
- 本文固定链接: https://www.douyinkuaishou.cc/?id=17583
- 转载请注明: admin 于 抖音快手 发表
《本文》有 0 条评论