9.14约面(中秋有事,约了24号一面) -> 9.24 一面 -> 9.29 二面 -> 9.30 约面(hr说快国庆了很多人请假,约的国庆后)

一面 2021/9/24 约1h

1. 自我介绍
2. 项目相关
(团队人数 | 项目应用到的框架等 | 表设计)
3. Java中常用的集合类
(先说Collection和Map接口,再分别说子接口和实现类,以及大概的区别,没让细讲源码)
4. 有一组数据,需要按照顺序对它进行加密,如果用集合做的话你会选哪个集合?比如一个数组,其元素本身无序,每个元素是字母或者数字都行,对它从小到大进行排序,你会选哪个集合去存储?
(我当时好像选的TreeMap?忘记了...)
5. Java中线程同步的方案有哪些
(参考《深入理解Java虚拟机》第13章第2节,从“阻塞同步方案 | 非阻塞同步方案 | 无同步方案”三部分说明)
6. Lock接口的实现类
(参考《Java并发编程的艺术》第5章,Lock接口的实现基本都是通过聚合了一个同步器的子类来完成线程访问控制的,引出了队列同步器AQS,实现类讲了ReentrantLock和ReentrantReadWriteLock)
7. MySQL查询比较慢的话,通过什么方式来优化
(情况①:偶尔很慢,可能是数据库在查询脏页,或者没拿到锁
情况②:一直很慢,可能是没有索引,或者有索引但没走索引,或者表数据量太大需要分库分表)
8. http协议
(http是哪一层的协议,其传输层协议是什么,三次握手和四次挥手的完整过程)
9. 算法题:lc726 原子的数量
(稍微变型,不必统计所有原子的数量,统计输入的目标原子的数量)
10. 反问部门和技术栈
其实是面试体验不太好的,不是面试官的面试过程有问题,是他没关消息提示,整个面试过程听了可能上百声“叮咚”的消息提示音,一开始没适应的时候会打断思路。最后的算法做的不咋地,给了大概20min,说了思路没全写完,面试官说思路应该可以,他还有下一场面试。这回算法拉胯了,以为凉了结果过了。

二面 2021/9/29 约80min

1. 自我介绍

2. 项目相关

3. Java中有个String类,如果我们自己写一个java.lang.String类,会出现问题吗

(参考《深入理解Java虚拟机》第7章 虚拟机类加载机制,主要讲了类加载器的种类和双亲委派模型)

4. Java里的Map有哪几种实现

(HashMap | TreeMap | HashTable | LinkedHashMap | ConcurrentHashMap)

5. TreeMap的使用场景,底层数据结构,红黑树的存取复杂度

6. LinkedHashMap的使用场景

(用LinkedHashMap实现lru,按插入顺序(默认) accessOrder = false | 按访问顺序 accessOrder = true,HashMap+双向链表)

7. Java中有个volatile关键字用过吗,用volatile修饰的变量来记录访问次数,需要其他同步操作吗

(场景:单例模式等,参考《深入理解Java虚拟机》第12章12.3.3“对于volatile型变量的特殊规则”,从Java内存模型JMM的角度讲volatile,说明指令中的lock前缀和将esp寄存器的值+0这个空操作)

8. Java有哪些同步方案,如果不加锁呢,加锁会不会太重了

(参考《深入理解Java虚拟机》第13章第2节,从“阻塞同步方案 | 非阻塞同步方案 | 无同步方案”三部分说明,面试官提到加锁会不会太重的时候,我提了一下synchronized锁升级文末获取电子版)

9. CAS的ABA问题是什么,要怎么解决

(参考《深入理解Java虚拟机》P477文末获取电子版)

10. 有没有用过工具,怎么查看Java堆的统计信息

(参考《深入理解Java虚拟机》第4章,没用过工具,只说了常用了JVM参数文末获取电子版)

11. 我们来问问网络吧,DNS是哪层的协议

12. tcp有个状态是Time_Wait,这个具体是在哪儿,作用是什么

13. get和post的区别,用get和post传输的时候有个编码,那个编码的作用是什么

(一开始没听懂问题,说的是Accept-Encoding,后来面试官说是想问http请求中特殊字符的转义)

14. 有没有面过别的公司 | 哪儿的人

15. 给了个C++的结构体,有char、int等3个属性,问占多少内存,换了个顺序,又问占多少内存

(这个不大会,有会的老哥欢迎评论)

16. 算法题:

1. [算法1]:求最大长度的自然序子数组,输出长度和子数组下标(从1开始),不要求连续,自然序是指“123456...”,即3的后面必须是4,以此类推

如,3344567,输出应为4,[2,3,4,5],即数组的第2/3/5/6个元素“3456”

2. [算法2]:二叉树的层序遍历(面试官:再写个常规的吧)

17. 做完题开始问数据库相关的,聚集索引和非聚集索引

18. 事务隔离级别

19. 怎么实现的可重复读

(主要从锁机制+MVCC的角度讲,详细说明了当前要访问的版本的事务id和ReadView中活跃事务id列表的关系,如果大于最大值怎么样,小于最小值怎么样,介于最大值最小值之间要怎么办)

20. 反问

问的内容比较多,算法题让写了两个,用面试官的话来说一个不大常规,一个常规题目,也可能是因为一面的算法拉胯了所以二面问了俩?算法题一边讲思路一边做的,都还算顺利。面试官很和善,很多问题之间都是有联系的,回答的时候没按八股文来,基本都是说自己的理解+书籍上的内容。面试结果很快就出了(大概当天或者第二天),效率很高,约了节后三面。

三面

是我面过的最不常规的一场,没问多少八股,面完给我整累麻了,结束了一看录音忘了开
面试时间推迟了一小时,面试官连着国庆请假了,当天刚回北京,在家里面试的
1. 自我介绍
2. 来个算法吧(真的吗上来就是算法吗,头一回遇到没有接着自我介绍问项目的面试官)
输入为两行,第一行:[[3,18], [5, 12], [18, 6]...] 表示3到18有边,5到12有边...边是双向的(就是想说无向图),具有传递性(就是表示[3, 18, 6]在一个连通分量里)
第二行:[[3, 6], [3, 12]...] 就是问两点是否在同一个连通分量里
输出:[true, false, ...]

思路:并查集,判断两个点是否在同一个连通分量中,核心方法是并查集中的 public boolean isConnected(int x, int y),返回x点和y点是否在同一个连通分量中

3. 再来个算法题吧(真的吗二面可是考了我俩算法啊,三面也要俩算法吗)
有个词典["c", "ch", "chi", "hi"...],给你一个list,里面的元素是字符串,判断能否通过合理的切分使得字符串能切分成词典中的元素,每个元素可以使用的次数无限,返回是否能切分成功,能则为true,不能为false。
比如:["cchic","chihhi"... ] 输出 [true, false]
(看完题目,大概说了一下思路,然后尝试让面试官换题。
面试官:为什么要换题呀,你做做试试,我要是换题肯定更难
我:好的(苦笑))

思路:动态规划,dp[i]为到字符ch[i]为止是否能成功切分,对于dp[i],如果切分出来的字符串ch[j...i]词典中有,并且dp[j-1]为true,则说明能够成功切分,dp[i]为true

4. 你再看看下一个题吧,一个系统设计题(面试官你真的没有一丁点的八股想问我吗)
设计一个简单的评论系统,要求写出创建表和查询的sql
①评论包括一级评论和二级评论(即在一级评论下还可以评论)
②一级评论有热度值,热度值为该一级评论下二级评论的条数,二级评论无该属性
③查询方式有两种,一个是按时间排序,一个是按热度值排序,要求分页查询
分页查询的地方说了一下 limit 0, 50 和 limit 100000, 50的区别和优化方式

这个题答得一般,但是面试官说这个题本身就不容易,只是为了看设计思路

5. 本科成绩很好,为什么考研选择了考本校,没选更好的学校,我不是说你的学校不好的意思

答:主要考虑了导师blabla...

6. 你觉得自己的优势是什么,说说优缺点

(聊的时候提到了为什么没有问常规的基础问题,面试官说因为一二面问了很多,他就没再问)

7. 那问个你简历上写了的吧,你说说redis的集群
(应该是因为我问了为啥不问八股,就给我来个八股意思一下,果断抓住机会从主从讲到哨兵再讲到cluster,还讲了如果master宕机了,哨兵模式和cluster模式分别怎么办,讲了一致性哈希等,该问题主要参考《Redis设计与实现》文末获取电子版)

8. 时间差不多了,那我们今天就面到这里(没让反问,一度以为人没了)

今天内推人问了hr,说状态是“offer审批中”

流程:9.12笔试 →  9.14约面 →  9.24一面 →  9.29二面 →  10.9三面 →  10.12内推进展从“面试状态核定”变成了“面试已完成”

根据自身面试经历整理以及不断收集的(珍藏版)面试文档大合集整理

资料获取方式:点击Java面试,文档架构师资料即可获取

相关的电子书、底层源码

阿里巴巴必备学习知识点

最后

很多人感叹“学而无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。

以上学习资料均免费放送,最后祝愿各位身体健康,顺利拿到心仪的offer!

字节番茄小说一面+二面+三面,本以为挂了,却意外收到offer相关推荐

  1. 【每日面试】2021字节跳动番茄小说Java二面

    作者:Yyyilia 链接:https://www.nowcoder.com/discuss/766918?source_id=discuss_experience_nctrack&chann ...

  2. 目标阿里P7 30岁程序员三次面试,意外收到offer(Java研发岗)

    进阿里一直都是身为程序员的我,最初的梦想,经过去年面试蚂蚁金服失败的挫折后,今年再次鼓起勇气投简历,经过一位前辈的内推省了很多流程,经过多重面试后最终通过.当时收到offer的时候整个人开心的要跳起来 ...

  3. 三面求对称二叉树_字节跳动后端实习面经,一面+二面+三面(已收到offer)

    开始 本来约的14号下午2点一面,一面完面试官让我直接等二面,然后就连着面了,二面完面试官又让我等着直接三面,然后等了一会儿说三面面试官不在,下次约时间....看来是打算三面连着来,真的难顶 我是学j ...

  4. 字节跳动后端实习面经,一面+二面+三面(已收到offer)

    开始 本来约的14号下午2点一面,一面完面试官让我直接等二面,然后就连着面了,二面完面试官又让我等着直接三面,然后等了一会儿说三面面试官不在,下次约时间....看来是打算三面连着来,真的难顶 我是学j ...

  5. 字节TikTok暑期实习一面二面三面面经(以OC)

    字节TikTok暑期实习一面二面三面面经(以OC) 字节TikTok暑期实习一面二面三面面经(以OC) 之前面试汇总题 字节一面(4月23日 4:00) 字节二面(4月23日 5:00) 字节三面(4 ...

  6. 字节跳动|后端|提前批|一面+二面+三面+HR 面

    一面|1h 自我介绍 select.poll.epoll? epoll的两种触发模式? TCP三次握手过程,有什么状态,状态机如何变化? TCP握手的目的有哪些? 什么是 TIME_WAIT 状态,为 ...

  7. 领英“顶尖公司”榜单出炉:华为、字节跳动位居前二

    领英发布2021年"顶尖公司"排行榜,华为.字节跳动位居前二. 本次榜单列出了25 家中国职场人最向往的公司.评选结果综合了领英编辑团队.数据科学家对中国用户职业发展的调研和领英独 ...

  8. 2021年3月15日 腾讯PCG运营开发实习面试(一、二、三面)(面经含总结)

    title: 2021年3月15日 腾讯PCG运营开发实习面试(一.二.三面) tags: 面经 2021年3月15日 腾讯PCG运营开发实习面试(一面2h) 自我介绍你能讲一下Java中的集合,你都 ...

  9. JVM 内部原理(七)— Java 字节码基础之二

    JVM 内部原理(七)- Java 字节码基础之二 介绍 版本:Java SE 7 为什么需要了解 Java 字节码? 无论你是一名 Java 开发者.架构师.CxO 还是智能手机的普通用户,Java ...

最新文章

  1. NGINX访谈:软件负载均衡、API网关和服务网格的企业采用状况
  2. XAMPP——Apache不能启动解决方案
  3. Vue.js2.0核心思想
  4. win8下cocos2dx-3.2+VS2012环境配置及项目创建
  5. 非负矩阵之Perron-Frobenius定理
  6. C#LeetCode刷题之#169-求众数(Majority Element)
  7. java数据返回到界面,java后台获取网页ajax数据和返回数据简单源码
  8. JSP页面之前传输 中文乱码
  9. ymodem传输的终端工具_国六在线监控OBD终端H6S信息安全防篡改技术实现
  10. 基于javaweb+jsp的健康体检信息管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot)
  11. 阿里云物联网平台如何进行云产品流转
  12. 第十三届蓝桥杯大赛软件赛决赛(Java 大学B组)
  13. [bzoj2752]高速公路 题解(线段树)
  14. (病毒安全)任何杀毒软件都不能用了
  15. 【小家Spring】注意BeanPostProcessor启动时对依赖Bean的“误伤”陷阱(is not eligible for getting processed by all...)
  16. 干货 | 视频插帧的方案实现与对比~~
  17. 100个替代昂贵商业软件的开源应用/100 Open Source Replacements for Expensive Applications
  18. 搭载敏捷飞天底座 阿里云专有云敏捷版全面升级
  19. STM32使用虚拟示波器
  20. python实现文本审核_百度AI文本审核API使用说明

热门文章

  1. onmousemove、onmouseout事件
  2. Java学习笔记(原创)
  3. 狼羊白菜过河问题C++
  4. leetcode 383赎金信
  5. React Hook
  6. 安装配置kafka集群
  7. h5+css3+js实现七夕言情
  8. 正则手机号验证最全包含177、166等验证
  9. Qt加载自带标准图标
  10. mapbox symbols 层级设置_Mapbox 地图样式规范