字节跳动社招后端三面总结以及学习经验感言(操详细) | 您所在的位置:网站首页 › 数字后端经验总结 › 字节跳动社招后端三面总结以及学习经验感言(操详细) |
简单介绍下背景:本人已工作两年,这次属于社招,不是校招哦!投递的岗位base是北京。往期:150期面试题汇总 先上正文 一面内容大概:先来道算法题,不难:链表表示的两个数相加。面试官说不用运行,大概写一下就行,说是因为说牛客上的运行环境不行。这题之前做过,写完之后没跑就直接给他了,他问是不是之前刷过,为了装逼我说没有刷过,然后回答说:这题不就是CPU的加法器的实现嘛,计算机组成原理。 Https的过程讲一下。先是说了http+ssl,dns之后,准备讲ssl的原理时,他示意我说回答一下传输层相关的。然后我就回答了tcp三次握手,对着服务器端指定端口,比如80端口发起连接,之后就是正常的数据请求了。 缓存穿透和缓存击穿。其实是知道雪崩、穿透和击穿的,但是一下子没直接说分清穿透和击穿,主要是太久没用过,突然觉得击穿和穿透,好像都差不多啊。 Go 协程简单用法; Go func与method之前的那个Receiver是什么?(答:类似Java的实例本身,效果同java中的this关键字,同时在go method也可以把这个Receiver当做参数来正常使用); java 实例放在哪个区,常量放在哪个区; 说一下Netty的IO原理,答:Reactor反应模型,Linux那边叫做IO多路复用。一个线程用来接收请求,将读写事件交给背后的worker线程。Redis、Nginx、Netty都是用到了这种模型。Redis其实也是多线程,只不过是用单线程来接收请求,在客户端看起来是串行接收执行,所以效果上就是单线程。但是IO多路复用才是Redis能高并发的底层保证。 MySQL left join、inner join:inner的就是差集、left的就是保左边; Go的闭包语法,答了内部函数对外层函数局部变量的引用,类似的还有js、java的lambda; Redis的setnx;(这个虽然只是提了一下,但是感觉没答好,需要加强。顾着准备Redis集群原理去了) 分布式锁的提供方,答:用过ZK和Redis的分布式锁; 项目相关问了不少,比如前家公司所负责项目的主要内容; 项目所产生的的一些价值,可以具体点,用一些案例或者数字来佐证都行;(这块没答好,接下来二面需要再整个关于项目经验的描述、个人所负责项目、产生的价值等,越具体越好,能有一些具体案例或者数据来支撑更好); 接上,总之,也要花点时间来回顾自己在之前公司的贡献和工作内容,越详细越具体越好,拒绝假大空;往期:150期面试题汇总 算法题:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 二面大概内容:自我介绍 |
CopyRight 2018-2019 实验室设备网 版权所有 |