-
redis基本数据类型
-
zset的底层数据结构,跳表何时增加高度?
-
分布式 redis,缓存和数据库读写不一致,答的延迟双删
-
面试官让随便讲讲redis,所以还说了缓存穿透,击穿,雪崩以及处理方法
场景题和智力题:
-
打字的智能提示和纠错的原理,让你来设计,你怎么做?
-
如果有一个访问过的所有网站的记录集合,如何快速判断当前网站是已经访问过?(考虑布隆过滤器)
-
从一个网站下载的时候,进度条如何实现的?
-
64匹马,八个赛道,问至少跑多少次能找到最快四匹马?
-
操作系统给你一块空闲内存,你如何设计使用和回收?
手撕代码:
-
柱状图中矩形最大面积 leetcode 84
-
查找第k小的数,用堆以外的方法做
-
给m个房子涂n种颜色,相邻房子不同色,cost[i][j]表示给i号房子涂j颜色代价,求最小上色总成本。(LeetCode原题)
其他:(HR和Leader都问了一些开发性问题)
-
你认为遇到过最大的挫折是什么?怎么解决的?
-
职业规划
-
对字节跳动的认识
-
你认为字节是一家年轻的公司吗?年轻是核心竞争力吗?
-
你有没有崇拜的人
-
不考虑公司地理因素,最想要去哪个城市工作?
-
平时的兴趣爱好?
-
喜欢写博客吗?看什么书?
赠送我的刷题题库(1:BAT一线大厂面试真题)
赠送我的刷题题库(2:专题面试题)
<2> 字节跳动面试总结(一些心得和小建议)
-
字节跳动对算法真的非常重要,提前刷题真的很有必要,不然基本上没戏,运气好的说不定还能被问到原题,当然你是算法大神,就不需要浪费时间在这上面了。
-
基本上每轮都有算法题,1~3道左右,难度不一,一般根据当次面试情况来的,会考虑的面试者的表现,但也不会太为难你。
-
拿到算法题时,不要立即作答,可以先和面试官聊一下自己的思路。
B:我为什么想要去字节跳动?(字节跳动的优势)
=======================
①福利待遇
我不是hr,也不是给字节打广告,这里真的要提一下字节跳动的福利待遇绝对是一线厂子里数一数二的。加上我是外包出身,这种待遇给我造成的落差感就更明显,让我觉得能够进字节跳动工作算是我最大的幸运了。
至于福利待遇,这里随便提及几点:
-
弹性打卡
-
房补(额度算很高了,算很人性化)
-
免费的三餐、下午茶(吃胖了)
-
免费健身房
-
顶配16寸MacBook
-
各种节日礼包
②巨大的知识库
字节跳动对于我来说,算是一个巨大的知识库,之所以这么说,从面试的流程及细节,到后来我入职之后工作上面的安排,都让我有不一样的触动。从这几方面,我们都能够感受到公司对于员工的职业规划非常重视,你的主管和导师都会主动去找你沟通这方面的,这对比我之前的外包,是截然不同的地方。而在这个交流过程中,我获得到的,不是一星半点。
最让我佩服的是,字节有统一的入口可以导航到海量的指南和知识沉淀,甚至是其他各个产品线整理的技术和业务文档等等。
③我看到了认同
来到字节,我看到了认同,收获了归属感。字节跳动虽然年轻,但在做事上有共同一致的目标,这里的人讲“字节范儿”,它不是条条框框的束缚,它是一种精神食粮,实质是一种价值认同。恰好,拥有同一种价值认同的人走到了一起。
④虽辛苦,但不感觉累
字节跳动是一家非常年轻化的公司,对于一线的互联网公司来说,996是常态,字节跳动也脱离不开“加班”二字。但是字节给我最大不同的感受是,忙碌且生机勃勃。在字节工作一段时间了,我也算是跟上了这里的节奏,虽然辛苦,但我却一点也不感觉累,因为在充实的工作环境中,我是有所收获的,在公司野蛮生长的同时,我个人也得到了快速的成长。
另外,别以为一线大厂的“打工人”只会死工作,字节人最大的特点就是年轻,他们同样会玩,每个人都有自己的爱好,骑行、狼人杀、健身、摄影、瑜伽等等,这与我之前对大厂人的印象显然不同,我也一点一点在慢慢被影响着。
⑤反思:关注工作效率
以前觉得自己的工作效率和时间管理做得还不错,至少能拿出时间做一点大家想做却没有做的事情,但现在才发现这也许只是错觉,你总做容易的事情,当然不会感觉到时间的压力,即便是项目进度比较紧的时候,加加班,搞搞996似乎也就那么回事。我们通常都会愿意延长时间,而不是考虑如何提高效率,在同样的时间内完成更多的工作,当然也有很多不言自明的客观原因。
来字节后,我才从身边同事的工作细节中看到了什么才是“效率”。
C:外包教了我什么?(积累了什么?)
==================
很多人认为在外包学不到什么东西,但我却不这么认为,无论你身处什么环境,造成什么样结果的人都是你自己。所以,在外包工作的这些年,我并不是单一的机械化敲代码,在这个过程中,我会主动地去复盘,去总结,去学习,而慢慢积累的工作方式才铸就了我今天的“质变”。
在外包中,我积累到了什么?
-
代码效率;
-
各种项目和业务的理解;
-
熟练使用增删改查。
在外包中,我复盘了什么?做了哪些总结?(写了一些博客,做了一些笔记总结,附下PDF)
- Java架构成长笔记
- Redis核心技术笔记(学习总结)
- Spring全家桶学习笔记(SpringBoot+SpringMVC+SpringCloud+源码等)
- 其它
D:下一个3年如何规划?
============
1.确定发展方向
程序员生涯大致分为五个阶段:
-
第一阶段:2-3年,初级程序员
-
第二阶段:3-5年,中级程序员
-
第三阶段:4-7年,高级程序员
-
第四阶段:5-8年,互联网架构师,大数据工程师
-
第五阶段:8年+,技术总监,技术主管,首席架构师
目前,我处于第二阶段,有一定的工作经验,可以独立做一些项目,也有自己的代码习惯,甚至在团队中我也可以担任重要的角色。而日后的1-2年内,我肯定是要往三阶段过渡,甚至是四阶段过渡。
2.梳理学习路线
想要快速成长,一条合理且正确的学习路线才是最为重要的,所以梳理学习路线,是我目前学习上最重要的事情。(个人梳理的学习路线图如下)
目标:能够独当一面,在专业领域具备辅导他人的能力
学习内容:并发编程与JVM实战+缓存中间件+消息中间件+搜索中间件+高并发+高可用+搞扩展+网络通信与协议+分布式与微服务+分布式权限控制+微服务熔断降级与限流+微服务链路追踪+底层&源码深入解读+一线大厂分布式场景实战
总结
就写到这了,也算是给这段时间的面试做一个总结,查漏补缺,祝自己好运吧,也希望正在求职或者打算跳槽的 程序员看到这个文章能有一点点帮助或收获,我就心满意足了。多思考,多问为什么。希望小伙伴们早点收到满意的offer! 越努力越幸运!
金九银十已经过了,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。但很多小伙伴却苦于没有合适的资料来回顾整个 Java 知识体系,或者有的小伙伴可能都不知道该从哪里开始复习。我偶然得到一份整理的资料,不论是从整个 Java 知识体系,还是从面试的角度来看,都是一份含技术量很高的资料。
。希望小伙伴们早点收到满意的offer! 越努力越幸运!**
金九银十已经过了,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。但很多小伙伴却苦于没有合适的资料来回顾整个 Java 知识体系,或者有的小伙伴可能都不知道该从哪里开始复习。我偶然得到一份整理的资料,不论是从整个 Java 知识体系,还是从面试的角度来看,都是一份含技术量很高的资料。
[外链图片转存中…(img-rF7SNdpY-1720108199654)]