个人秋招总结以及面筋分享

今天收到了shopee的意向,意味着我的秋招,更准确说是提前批,全部结束了,开始摆烂。

其他offer比较早,有六月份的tplink的sp+5k,有七月份字节跳动国际化电商后端开发、拼多多后端开发,后两个暂时不知道base多少,还没正式谈。

其实还面试了腾讯PCG部门,但是三面挂了,而且三面面试官有点不尊重人,高高在上,一直怼,然后他那边也不开视频,我就对这黑屏腾讯会议的界面balabala...

-------------------------------------------------------------------------------------------

个人感觉自己的秋招还是非常忐忑的,说一下本菜鸡的心路历程。

某末流985网安本科,

提桶跑路典型人员,大一从土木run到网安,其实对网安没啥兴趣,只是当时评估了下转专业政策觉得网安比计算机更稳。

无实习,无论文,gpa中上,差保研可能10%,有几个水的比赛、项目。

(同学院的可能已经知道是谁了,有点明显)

今年一二月份开始疯狂焦虑,因为不能保研,感觉自己也挺菜,就准备考研了,整整三个月我成为了一名科憨,因为我不想搞算法,所以科软、旦软、东南是我的几个关注对象。这三个月张宇过了两遍、单词也快两边,然后408除了计组都看了一遍,最简单的感觉是408(除了计组),很多题目特别是数据结构和计网的说实话对于科班难度确实不算很大。所以科憨们要感谢少了一个强(fei)有(chang)力(cai)的竞争者哈。

然后四月份一直在思考自己到底怎么走。如果考上了科软,多了一个硕士文凭,但是互联网公司给的评级主要还是看能力(这里特指普通的后端、前端等岗位,except算法、天才少年),所以自己本科也其实可以进入所谓大厂,然后拿部分sp的。有了硕士文凭当然更好,考到更好的学校,在编制方面、相亲方面、甚至是所谓的面子上都更有优势。

但我比较担心失败,考不上就等春招零零碎碎的补录,然后浪费了太多时间。然后自己的求职目标其实也就是互联网这一块,至于35岁之后,去学校门口摆个烧烤摊吧,这方面我还是比较坦然的。另一方面,最近也有互联网行业焦虑,众所周知,工科==计算机,各行各业的人都涌进来(比如跨考科憨),这里没有恶意,只是描述一个现状。加之目前CN互联网似乎已经进入了存量市场,缺少新的增长点,因此对于即将到来的“工程师红利”,我还是想先占个坑位。(后来面试的时候也是有意的选择一些偏国际化的部门或者企业)。

准备秋招前,还有个小插曲,看到学校有个(3+2)早稻田的项目,一开始心动不已,因为相对于正常读研流程节省了两年,另一方面是不需要考虑考研失败的问题,只是花些钱。后来发现这个项目是去早稻田在北九州的乡kaka研究所,顿时蚌埠住了,可不想花了钱去不了东京还去体验乡村生活吧。另一个放弃这个想法的原因是我问了朋友、辅导员,其实总体来说他们都认为早稻田理科研究生的title不是那么厉害,国内就业不如考个本校。

OK,五月开始正式准备提前批。每天大概三道leetcode,到七月左右加上以前的刷了350题左右吧;然后准备JAVA系列的后端八股文(JAVA基础、并发、JVM、调优)、中间件八股文(Mysql、redis、Zookeeper、Kafka)、基础知识八股文(计网、操作系统、Linux原理、调优、操作、设计模式、数据库)、框架八股文(Netty、Spring)、分布式八股文(分布式理论、分布式事务、分布式锁、分布式id、分布式算法)。

六月正式开始投简历。此时,我对于自己面试的能力非常不自信。所以第一个投TP-LINK,因为这公司比较看学历,相对问的不是特难。我只能说这一阶段非常非常幸运,虽然最后不太会去TP-Link,但是面试这个公司感觉足够尊重、也找回自信。一面遇到个面试官,老婆是和本人同校的,问了几道智力题、简单dp、基础JAVA问题就完事儿;二面遇到的面试官,自己是和我同校的,问了问项目,然后也是智力题,然后问了不多的八股;三面没什么说的;整个过程很顺利,自己面完了其实也知道能够过,但惊喜的是HR打电话说是sp+5k,还是非常兴奋的,这是我第一个offer。

后面陆陆续续投递了腾讯,虾皮,字节,pdd;面经不表,可能后续贴上来。个人感觉,字节就是高强度算法题+八股+设计题,二面上来先写三道算法,写不出来走人;虾皮就是八股浓度拉满,当然也会有结合项目的灵活问题(项目用了Zookeeper,就问道了zab协议整个细节,用到了限流算法,就会让我自己写一个令牌桶限流(代替手撕算法环节))。虾皮面试至少我遇到的所有面试官都挺有素养的,很会照顾面试者的情绪。

-----------------------------------------------------------------------------

Shopee


Shopee深圳-后台开发工程师 by zty


一面 7/14 60min

自我介绍

项目介绍,项目难点,怎么解决

细说zookeeper,怎么选举的(ZAB协议)?

ZK如何保证其一致性?

Zookeeper除了元数据储存还有什么用?

口述具体怎么用ZK实现分布式锁,你知道redis怎么实现分布式锁吗,说一说,这二者有啥区别?

redis你项目用了哪些数据结构,说一说底层是怎么实现的?

redis主从复制细节

mysql事务特性(ACID),以及Inodb如何去保证这些特性

innodb引擎索引实现结构,为什么B+树而不是B树?

Linux常用指令,查CPU,硬盘情况,用户权限;

算法:类似于leetcode第三题


二面7/21 60min

自我介绍

细说一下你写的RPC框架整个调用流程,负载均衡有哪些策略?如何进行的失败重试和限流的?

XSS说下,如何注入,以及分别从前后端考虑如何防止XSS注入。

CSRF说下

HTTPS相比于HTTP的优势?

HTTPS详细握手过程,CA证书存放的位置,TSL1.2和TSL1.3的主要区别,对称密钥和非对称密钥等

知道HTTP3吗?QUIC主要解决什么问题

TCP为什么称之为可靠传输?

流量控制如何实现的?

拥塞控制算法?还知道其他的吗?-BRR算法

设计模式,手写你觉得最好的单例,以及问了volatile关键字底层实现

设计模式,看你用了netty,说一下Reactor模式,以及适用于什么场景,不适用于什么场景?

拉家常,你负责的比赛项目是如何组织的,怎么分配任务,遇到问题如何解决的?

一道设计算法题:用redis手写令牌桶限流算法,目标是一个特定IP可以在N秒内获得的令牌总数是X,获取成功返回true,失败返回flase .(一般估计不会问,前面回答限流算法给自己挖坑了属于是)

反问:

技术栈?GO主要;其他看业务需求,公司没有语言的强制要求

表现如何?:笑


三面(hr)7/26 20min

  1. 评价下你之前的面试

  2. 为什么想来虾皮,你对虾皮知道多少?

  3. 为什么不考研捏?

  4. 朋友怎么评家你?

  5. 有什么缺点?

  6. 你是哪儿人,为啥报深圳岗位?

  7. 大学成绩咋样?

  8. 有其他Offer吗

  9. 期望薪资

后端开发-国际化电商(TikTok) 深圳 by Zty

一面 7月20 1h30min

  • Linux 文件系统相关,inode结构,软硬连接,以及文件描述符是什么,怎么去修改,最多允许多少?

  • Linux 读写数据的整个流程,内核状态切换;Mmap(内存映射)和sendFile函数零拷贝什么原理?

  • Linux是内存管理是怎么样的?虚存是什么,虚拟地址->物理地址的整个流程是什么?

  • Linux说一说fork这个函数,返回什么;父子进程之间资源是共享的的吗?父子进程之间怎么用匿名管道通信?

  • 父进程死掉子进程会怎么样?子进程挂掉父进程呢?知道僵尸进程吗,Linux会怎么处理?

  • 数据库隔离级别,Mysql怎么去实现的

  • 一道SQL语句题目,要求我建立合适的索引,并解释为什么(实际上考察B+树结构、最左前缀等知识)

  • 一道SQL语句题目(具体忘了),有多个SQL语句模拟ID分发器的业务,判断在默认隔离级别下会不会存在并发上的问题(实际上考察的是innodb的多版本并发控制机制)

  • 一道SQL语句题目,好像是一个update语句和一个select for update,然后判断是否有问题(实际上就是考察gap lock),建议看极客时间有个比较出名的Mysql36讲。

  • 一道智力题,(had never seen),题目:一个猴子,离他的家直线距离是50m,然后猴子旁边有100个香蕉,猴子身上最多能够背50根香蕉,猴子每走1M必须吃一根香蕉补充能量,问猴子最多能够带回家多少的香蕉?

  • 一道算法题,如下图

二面 7月26 65min

  • 限时35min,写3道题目。

  • Leetcode61,旋转链表,时间复杂度O(n),空间复杂度O(1)

  • Leetcode86,分割链表,时间复杂度O(n),空间复杂度O(1)

  • Leetcode670,最大交换

  • 计网问题,七层协议栈是什么,每一层作用;为什么要分层呢,说说你的理解

  • 后面忘记了问了什么,反正就是在聊计网,但是不是八股,偏个人理解的那种

  • 聊一聊跨域,知道JWT吗,什么结构?

三面 8月1 65min

  • 项目问题,挑一个觉得最好的详细说一下;然后是一系列追问(15min)

  • TCP,UDP特点和区别,分别不同的用途举例

  • 说一说TCP窗口,本质是什么,怎么用窗口实现流量控制的?

  • 拥塞控制算法,然后扯到了BBR算法,Linux怎么去启用?

  • 三次握手过程以及状态详细说,三次握手的时候,如何一定程度上去优化SYN攻击?Tcp的一些内核参数,知道哪些?(tcp_syn_retries/tcp_syn_cookies/tcp_fastopen/backlog)在Linux中怎么去看?

  • 四次挥手过程以及状态,Time_Wait状态是什么,有什么用;出现大量Close_Wait可能是什么个情况?

  • redis设置高并发抢单一的东西,如何避免高并发对一个键进行访问?

  • 怎么去设计一个扫码登陆的功能?

  • 智力题,64匹马,8个赛道,通过赛跑可以一次知道8匹吗速度的相对顺序,问至少赛多少次,可以找到最快的4匹马

  • 智力题,在一次战争中,我方发现执行任务回归的战斗机大多机翼中弹,是否要针对性的加固机翼?

  • 算法题,leetcode76最短覆盖子串




八月初到现在摆烂了很久了,每天就是学学Go语言,健身,高强度极地大乱斗,只能说目前这个选择没后悔。但我知道做任何选择我以后肯定会后悔的,所以我始终对现状满意。

#Java开发##面经##Shopee##字节跳动#
全部评论
1 回复 分享
发布于 2021-09-05 03:03
学长,能分享一下八股文的资料吗😁
点赞 回复 分享
发布于 2021-09-03 19:52
BBR算法可以讲讲吗,在网上搜到的看不懂😥
点赞 回复 分享
发布于 2021-10-27 09:03

相关推荐

无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
整顿职场的柯基很威猛:这种不可怕,最可怕的是夹在一帮名校里的二本选手,人家才是最稳的。
点赞 评论 收藏
分享
评论
9
59
分享
牛客网
牛客企业服务