一个月把字节,腾讯,阿里都面了,写点面经总结……

背景

先说一下个人情况,我是17年毕业的,去年年末开始面试,算起来是四年半的工作经验,面试的公司大部分是广州这边的,有字节,阿里的Lazada,腾讯,网易、欢聚时代等公司,最后拿到了字节和网易的offer,除了字节还算顺利之外,面试其他的公司都有点磕绊,而且面了不止一次,最后的结果不算很理想吧,但我个人还是挺满意的,毕竟比起之前的自己,这一次的跳槽也算是一次职业生涯的跃迁。

这个过程我也学到了不少经验,面试之后我都会把记得的问题做记录和复盘,事后复习弥补自己的不足之处,也使得自己在后面的面试表现中越来越得心应手。所以,别的段位我不敢说,但如果是社招五年内经验的同学,我相信我的面经对你还是会有帮助的。

说明

下面给大家分享我面试几间大厂的面经,我打算用真题+经验之谈的结合方式来给大家介绍,这里说明一下,因为社招很多题目都跟项目有关,而且几面的面试题难免有重复,所以我下面的真实面试题不会写的那么全,也不建议大家去背这些题的答案,毕竟每个人遇到的题目都不一样,我们需要做的是了解面试考察的大概方向,然后看看那些地方不足,尽早弥补自己的知识盲区,只有自身够硬才不怕钢铁的锤炼(这话有点中二,但我没词了)

字节面经

字节算是我面试最多的公司了,前前后后面了不下四次,实话说,字节的hr小姐姐还是很热心的,一般面完两天内就会微信通知你,咨询问题也是很热情的解答。

这几次面试中有两次我是在技术终面被刷的(吐了呀),一次到了hr面,问的知识范围也都差不多,全部写出来没必要,给大家分享内容有些代表性的面经吧,这是我投递字节国际化电商部门后端岗位的面试题目

面试题

自我介绍

Redis你比较熟吧,说说它机制为什么快

有几种数据结构,底层分别是怎么存储的

Redis有几种持久化方式

多线程情况下如何保证线程安全?

用过volatile吗?它是如何保证可见性的,原理是什么

MySQL的索引结构,聚簇索引和非聚簇索引的区别

MySQL有几种高可用方案,你们用的是哪一种

说说你做过最有挑战性的项目

你具体负责哪部分的东西,哪些最有挑战性,说说你做了哪些优化

秒杀采用什么方案,分表怎么做的,redis挂了怎么办,

分表为什么要停服这种操作,如果不停服可以怎么做

你怎么防止优惠券有人重复刷?

redis数据幂等性是怎么保证的(类似于分布式锁那种,有个key就行了)

「设计题:」

1、如果让你设计mysql高可用方案的话,你会优先考虑哪些方面

2、抖音评论系统怎么设计,如果加入好友关系呢?(考虑到数据读取的性能,可以采用写扩散的方式)

3、怎么设计一个短链地址,要考虑跨机房部署问题

你说要哈希算法生成短链,会存在什么问题(哈希冲突),该怎么解决?(可以用布隆过滤器,但是不好控制,而且仍存在hash冲突)

有没有更好的方案?(自增序列算法,每次接收一个长链,就分配一个ID,转成62进制再拼到短域后面)

存在的问题?(自增id方案如果用雪花算法,可能存在机器时钟回拨的问题,导致id重复,说到这里,我终于明白那家伙为什么说要考虑跨机房部署问题)

该怎么解决?(用Redis做自增id生成器,性能高,但要考虑持久性的问题;或者改造雪花算法,通过改造workId解决时钟回拨的问题)

「算法题:」

1、有一个数组,里面元素非重复,先升序再降序,找出里面最大的值(二分法,要考虑只有一个元素和两个元素的边界情况)

2、链表深拷贝

3、统计用户在线最大峰值和人数,要精确到秒

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值