字节跳动社招后端三面总结以及学习经验感言(操详细) 您所在的位置:网站首页 数字后端经验总结 字节跳动社招后端三面总结以及学习经验感言(操详细)

字节跳动社招后端三面总结以及学习经验感言(操详细)

2024-06-30 12:17| 来源: 网络整理| 查看: 265

简单介绍下背景:本人已工作两年,这次属于社招,不是校招哦!投递的岗位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 实验室设备网 版权所有