还愿牛客,收到字节意向书啦

感谢牛客平台,本人211本,末流985渣硕。从8月底开始准备秋招(之前还不知道牛客网和leetcode),到目前收获了几个offer,准备就签字节了。附上面试的面经

字节跳动data部门后端,base北京

10.9 一面(70min)

1.自我介绍

2.select和epoll的区别,水平触发和垂直触发

3.c语言的struct和c++的struct的区别

https://www.cnblogs.com/numen-fan/p/6491137.html

4.so文件存在内存的哪个地方

5.页面置换算法

6.虚拟内存,为什么虚拟内存会远大于物理内存

7.进程的内存结构

8.CPU超频和超线程的区别,超频有什么优势,超线程呢(不知道)

9.TCP中syn-flood怎么避免

https://blog.csdn.net/qq_32449467/article/details/53365408

10.HTTP中协商压缩

https://blog.csdn.net/liuxiao723846/article/details/78548585

11.HTTP2.0的特***器推送是怎么实现的

12.websocket是怎么握手的

13.==和equals的区别

14.hashmap和hashtable的区别,抽象类和接口的区别

15.常见的HASH算法有哪些,一致性hash了解过吗,为什么有虚节点,一致性hash的应用场景(分布式缓存)

16.解决hash碰撞的方法,开放地址法和拉链法外还有吗

17.垃圾回收,回收算法,选一个回收器介绍

18.常见的排序算法都有哪些,归并排序和堆排序的过程

19.kafka都用来做什么,怎么保证系统的高可用性,怎么保证消息不会丢失

20.linux删除空行的命令

https://www.cnblogs.com/lelin/p/11620128.html

21.linux如何查看cpu的核数,lscpu cat /proc/cpuinfo top

22.redis常见数据结构

23.redis的哨兵模式

24.redis的过期数据删除,内存满了怎么办,默认是哪个策略(noeviction,满了就报错,禁止淘汰数据)

25.计算机网络中的拥塞控制

26.算法题,根节点到叶子节点组成的数的和。

27.1G大小的文件,内存1M,每行由单词组成,找出频数最高的100个。(归并)最小堆

10.10 二面(80min)

1.自我介绍

2.epoll没处理完数据会怎么样

3.connect和accept对应的TCP状态

4.容器的文件系统

5.容器怎么实现CPU资源隔离的

6.ConcurrenHashMap怎么扩容,实现机制

https://www.jianshu.com/p/487d00afe6ca

7.hash冲突的解决办法

8.死锁产生的条件

互斥条件

不可剥夺条件

请求和保持条件

循环等待条件

9.mysql事务的特性,隔离级别,能解决什么问题,页锁(头会听说)

10.算法题:

-有序的二维数组查找

-LRU+TTL

10.13 三面(40 min)

1.自我介绍,项目问题

2.redis在项目中用在哪些方面,常用数据结构,zset怎么实现的,zset应用场景

3.udp怎么实现可靠传输,怎么保证大文件传输可靠,怎么实现断点传输。

4.nginx负载均衡算法,一致性hash算法,一致性hash带权重怎么实现

5.TCP中首部中的序号占多少个字节,为什么要这样用。

6.怎么学习技术的,都学过什么。

7.容器(docker)的网络模型

8.研究课题相关

9.反问

10.14 HR面(30min)

1.自我介绍

2.有什么offer,怎么选,希望去国企还是互联网

3.有没有女朋友

4.一些技术问题的概念解释

5.反问

10.19号收到意向书

美团

一面(80min)9月21

1.自我介绍

2.聊项目

3.手撕mysql,查询点播量最高的视频

select viod_name from table order by times desc limit 0,1

4.mysql,查询点播最高的用户

select userid,count(*) as times from table group by userid order by times desc limit 0,1

5.redis的数据结构,redis的性能为什么好

6.redis的过期机制和内存淘汰策略

7.redis持久化的方式(没答出来)

8.redis并发问题(没答出来,两个用户同时修改一个key)

https://juejin.im/post/6844903846750191630

9.redis lru是怎么实现的。(通过链表实现的)

10.java的集合,concurrenthashmap怎么解决并发问题的,Hashtable怎么解决的。

11.常用的垃圾回收算法(parralell)

12.cms怎么解决内存碎片的问题(full gc)

  • 增大Xmx或者减少Xmn

  • 在应用访问量最低的时候,在程序中主动调用System.gc(),比如每天凌晨。

  • 在应用启动并完成所有初始化工作后,主动调用System.gc(),它可以将初始化的数据压缩到一个单独的chunk中,以腾出更多的连续内存空间给新生代晋升使用。

  • 降低-XX:CMSInitiatingOccupancyFraction参数以提早执行CMSGC动作,虽然CMSGC不会进行内存碎片的压缩整理,但它会合并老生代中相邻的free空间。这样就可以容纳更多的新生代晋升行为。

13.mysql建立索引的原则

https://www.cnblogs.com/chenhaoyu/p/8761305.html

14.四次挥手的过程和状态

15.算法题:求两个String类型的整形加法String num1 = "123";String num1 = "456";相加然后反转

16.算法题,leetcode,盛最多水的容器。

二面(80min)9月25日

1.自我介绍

2.说一下项目里面的具体做什么的,怎么保存在线观看的人数

3.mysql大表优化

4.有用过哪些redis命令吗(没有)

5.数据库里面都有什么表

6.项目里面实现最难的功能是什么

7.进程和线程的区别

8.为什么进程切换慢,线程切换快

9.怎么实现多线程

10.线程池都有什么,怎么创建,线程池参数,有用过线程池吗(没有)

11.线程都有哪些状态,怎么让线程进入阻塞状态,阻塞,非阻塞,同步和异步的区别

12.JVM内存模型

13.算法题

  • 两个链表相加,1-2-3-4-5,1-2-3-4结果就是1-3-5-7-9

  • 两个线程交替打印奇数和偶数(说了想法,没有写)

14.最近在看什么书吗,有没有接触过什么新技术

15.有offer吗

16.反问

-部门情况

后面没收到任何通知,凉凉。这么简单的算法题,当时那面试官一脸看弱鸡的表情,给我整怕了,没写好,虽然写出来了。

京东

一面(电话面试40min) 9月22下午7点20

  1. 问本科做的什么,有没有学过计算机相关课程

  2. Spring是怎么识别http请求找到对应的controller的

  3. 对象在堆内存里面会不会有移动

  4. Integer能不能用==判断相等(-128到127有缓存)

  5. 重写equels为什么要重写hashcode(回答因为有一些需要用到hashcode的场景,比如set,会先判断hashcode是否相同,再通过equals来判断)

  6. JVM常见的垃圾回收算法以及都有什么缺点

  7. new一个object对象,然后再赋值给一个静态变量,然后问这个过程在JVM内存是什么个过程(回答会把创建的实例对象放到堆内存区域,然后再把指向对象的内存地址赋值给符号引用,让这个符号引用指向对应的堆内存区域)

  8. 这个对象的堆内存地址会不会发生改变(会,因为垃圾回收会对对象进行转移,比如复制法和标记整理)

  9. 输入URL到浏览器,整个过程是怎么样的

    • Spring是怎么处理HTTP请求的

      前置分发器 DispatcherServlet 接收到 HTTP 请求之后,将查找适当的控制器 Controller 来处理请求,它通过解析 HTTP 请求的 URL 获得 URI,再根据该 URI 从处理器映射 HandlerMapping 当中获得该请求对应的处理器 Handler 和处理器拦截器 HandlerInterceptor,最后以 HandlerExecutionChain 形式返回。

      前置分发器 DispatcherServlet 根据获得的处理器 Handler 选择合适的适配器 HandlerAdapter。如果成功获得适配器 HandlerAdapter,在调用处理器 Handler 之前其拦截器的方法 preHandler() 优先执行。

      方法 preHandler() 提取 HTTP 请求中的数据填充到处理器 Handler 的入参当中,然后开始调用处理器 Handler(即控制器 Controller)相关方法。

      控制器 Controller 执行完成之后,向前置分发器 DispatcherServlet 返回一个模型与视图名对象 ModelAndView 。

      前置分发器 DispatchServlet 根据模型与视图名对象 ModelAndView 选择适合的视图解析器 ViewResolver,前提该视图解析器必须已经注册至 Spring IOC 容器当中。

      视图解析器 ViewResolver 将根据 ModelAndView 里面指定的视图名称获得特定的视图 View。

      前置分发器 DispatchServlet 将模型数据填充进视图当中,然后将渲染结果返回给客户端。

  10. HTTP报文的格式是怎么样的(请求行,请求头,空行,请求体)

  11. cookie存在http哪儿

  12. cookie和session的区别

  13. mysql里面的索引类型以及联合索引的最左原则

  14. 了解过覆盖索引吗(没有了解)

    如果一个索引包含(或覆盖)所有需要查询的字段的值,称为‘覆盖索引’。即只需扫描索引而无须回表。 只扫描索引而无需回表的优点: 1.索引条目通常远小于数据行大小,只需要读取索引,则mysql会极大地减少数据访问量。 2.因为索引是按照列值顺序存储的,所以对于IO密集的范围查找会比随机从磁盘读取每一行数据的IO少很多。 3.一些存储引擎如myisam在内存中只缓存索引,数据则依赖于操作系统来缓存,因此要访问数据需要一次系统调用 4.innodb的聚簇索引,覆盖索引对innodb表特别有用。(innodb的二级索引在叶子节点中保存了行的主键值,所以如果二级主键能够覆盖查询,则可以避免对主键索引的二次查询)

    覆盖索引必须要存储索引列的值,而哈希索引、空间索引和全文索引不存储索引列的值,所以mysql只能用B-tree索引做覆盖索引。

  15. 事务是怎么实现的。(不知道)

    https://www.cnblogs.com/wyc1994666/p/11367051.html

  16. MVCC知道吗(知道,巴拉巴拉)

  17. 事务隔离级别,分别能解决什么问题

  18. 说一下什么是线程安全问题

  19. sychronized和Lock的区别

  20. synchronized使用的方法以及底层原理

    https://www.cnblogs.com/little-sheep/p/9909111.html

    同步方法是隐式的。一个同步方***在运行时常量池中的method_info结构体中存放ACC_SYNCHRONIZED标识符。当一个线程访问方法时,会去检查是否存在ACC_SYNCHRONIZED标识,如果存在,则先要获得对应的monitor锁,然后执行方法。当方法执行结束(不管是正常return还是抛出异常)都会释放对应的monitor锁。如果此时有其他线程也想要访问这个方法时,会因得不到monitor锁而阻塞。当同步方法中抛出异常且方法内没有捕获,则在向外抛出时会先释放已获得的monitor锁

  21. lock的实现方法以及底层原理(CAS volatile然后AQS,然后独占锁和共享锁)

  22. 线程池参数

  23. 场景题,核心线程数6,最大线程数10,队列无界,然后说一下过程。(由于无界队列,所以线程池中的线程数不会超过6,等待队列里的任务只能等待线程处理完任务后再来执行,从头说到饱和策略)

  24. 双亲委派模型了解吗(巴拉巴拉)

  25. 怎么破坏(自己实现classloader,然后重写classload方法,然后扯到Tomcat,然后问Tomcat为什么要这样做,真想给自己一巴掌,话真多)

    https://www.cnblogs.com/fanguangdexiaoyuer/p/10213324.html

  26. 反问,问面试官是哪个部门的,都是做什么的。

  27. 问有offer吗(没有)

二面(9月27号)35min

1.自我介绍

2.项目介绍,架构

3.线程池,有用到多线程吗,线程怎么同步的

4.mysql怎么建立索引

5.应用是单机部署还是多机部署

6.redis部署模式(主从和哨兵)

7.目前的研究课题是什么

8.深度学习模型,CRNN CTPN是什么,整个框架

9.分布式有接触过吗

10.反问

电话突击面 (9月29号)30min

1.问项目

2.问java基础

3.问redis

4.sql删除重复数据,保留一个

delete from table where sex = (select sex from table group by sex having count(*) > 1)这是删除所有

Delete from table where id not in (select min(id) as id from table group by sex)

5.hashmap的原理

6.线程安全的本质,怎么保证线程安全

7.是什么时候学的java

8.反问

10月14号,HR面 30min

1.自我介绍

2.问学习,遇到未知领域怎么做,怎么学习的

3.有没有对象

4.有什么offer,怎么选择

5.职业规划

6.反问

到目前没有收到任何通知,没法和东哥做兄弟了。

华为

华为是第一个面试的公司,好像是9月12号,虽然过了,但是华为那成海了,估计被捞不起来。

一面(30min)

1.自我介绍

2.问项目,自我介绍里面的

3.算法题:给定一个数组,找出里面能构成三角形的最大周长构不成就返回0

4.java设计模式(模板模式,代理模式,工厂模式,单例模式)

5.快排和归并排序的区别(都是基于分治的思想,归并排序是稳定的排序,O(nlogn),最坏情况也不变,快排是不稳定的排序时间复杂度O(nlogn),最坏情况是O(n2))

6.final用法都有什么作用(修饰变量,类,方法)

7.不可变对象

8.根据前序中序求后序

二面 (40min)

1.自我介绍

2.面向对象的设计原则,单一职责原则,开闭原则(怎么实现)

3.设计模式,你熟悉的(模板模式,代理模式,工厂模式,单例模式)

4.中间件(redis,kafka)

5.mysql语句,查询一个字段,用某个字段排序,显示某一页多少个内容

6.算法题:拼单词,字符可以能拼出哪些单词。

三面(45min)

1.自我介绍

2.深挖项目(微众银行的比赛,选择标准,取得成绩的标准,你是负责干什么的,团队分工,团队是否有分歧,怎么解决的,项目有没有遇到什么问题,怎么解决的,如果你这个东西要商用的话,还需要怎么改进,有没有考虑过安全问题,怎么判断恶意访问)

3.问了科研项目,有没有遇到什么问题,遇到最困难的问题是什么,怎么解决的,有没有看过源码。

4.反问(问了部门组成,以及连接与协同是做什么的(物联网))


别的还有一些小公司,就不放出来了。也投递了一些大公司, 可能是投的晚了,没有面试机会。感谢字节收了我。
天道酬勤,虽然准备晚了,但是努力就会有好结果,中间也有迷茫,也有失落,但是硬着头皮刷了几遍java guide,2个月不到的时间刷了400道左右的题目,整理了几十份面经。
加油,奥利给给!!

更新

    有朋友想知道学习路线,这里我就整理一下学习思路吧。这里得感谢一下guide哥整理的java guide,当时就主要从这个资料入手进行扩展,由于准备的时间不足,所以只能刷guide哥的面试突击版,这里放上链接。
    首先是要扩充自己的知识广度,这个可以从java guide出发。刷第一遍的时候可能看不懂,但是要记下来。古人说的好"温故而知新",多看几遍就会了。面试的题目绝大部分都是上面的题目。常见的java基础,数据库,操作系统,算法,计算机网络,java框架上面都有。
    然后就是知识深度的问题了,这个需要整理面经,因为面试问的问题才是有足够深度的。可以按公司来整理面经,及时查漏补缺,不会的就查博客,google一下(不推荐用百度,原因大家都知道,一堆人相互转载不靠谱)。然后将问题整理到自己的资料库中。
    当然还有最重要的算法了,当时我是先刷牛客上,在线编程的公司真题部分,刚开始题目太难的不要刷,从简入难,整理整个解题流程。将做过的题目整理到自己的题库中,写好思路和解法,一定要整理一个最优解出来,面试撕算法的时候,最优当然是最好的。当然,有的公司比较看重数据库部分的知识,也会让你手撕mysql(比如开水团),我当时是刷的牛客在线编程的mysql模块,刷完了基本上写mysql语句就没问题了。这里附上我当时自己整理的题库:
    最重要的一点就是面试后要及时复盘,查漏补缺,因为下一个面试官可能问你上一个面试官问的你没回答上的问题。
    当然最重要的一点就是坚持,不要放弃。船到桥头自然直。柳暗花明又一村。offer总会有的,不要妄自菲薄。坚持才会胜利,冲鸭。

更新


      内推啦,需要的就找我哟!!!

🤩字节提前批内推来啦
字节跳动2021提前批招聘正式启动!持续扩招,7000+ offer来袭,所有岗位 无笔试,多1次投递机会,大量岗位欢迎大家踊跃报名!
招聘对象:
2022届应届生(2021 年 9 月至 2022 年 8 月期间毕业)
职位类别:研发、运营、职能/支持、产品、设计、 销售、市场、教研教学、 游戏策划

超强福利:
    超强技术氛围、行业top薪酬、租房补贴、免费三餐、休闲下午茶、无限量零食……
可以找我内推,查询进度,帮忙看简历,咨询问题。
字节跳动校招内推码: 3UKTWBK 
投递链接:  https://jobs.toutiao.com/s/etR5tJS
#字节跳动##校招##秋招##内推##提前批#
全部评论
我的面试经历和你简直是一个模子出来的,还是校友🤣,我应该也是去字节了。
4 回复
分享
发布于 2020-10-21 20:35
厉害啊 楼主 短时间内学Java学的这么好
4 回复
分享
发布于 2020-10-22 09:02
博乐游戏
校招火热招聘中
官网直投
每天一个抑郁小日常,可我为什么还逛牛客呢😑
2 回复
分享
发布于 2020-10-22 09:34
大佬,太强了
1 回复
分享
发布于 2020-10-21 20:09
还有一个问题 华科渣硕?
1 回复
分享
发布于 2020-10-22 10:28
guide太棒了 点赞
1 回复
分享
发布于 2020-11-24 16:38
tql
点赞 回复
分享
发布于 2020-10-21 21:01
华科都只能算末流了嘛😥
点赞 回复
分享
发布于 2020-10-21 21:22
想问下  问有哪些offer的时候  回答的基本都是中小型公司的  会有影响吗?面完后,hr还让我把到手的几个offer公司名发给他😂
点赞 回复
分享
发布于 2020-10-21 21:24
好强啊,顺便想问下字节问到docker容器相关是根据简历上写的来问的吗
点赞 回复
分享
发布于 2020-10-21 21:43
楼主能不能分享下学习路线和面试准备呀,秋招来不及,努力准备春招了
点赞 回复
分享
发布于 2020-10-22 02:09
此时楼主学神dalao骑着学妹的电动车偶然路过
点赞 回复
分享
发布于 2020-10-22 09:10
同京东备胎,有的公司先发白菜后发sp,但是同学京东十一前开了40+,就京东铁备胎了
点赞 回复
分享
发布于 2020-10-22 09:12
兄弟,你字节后端用的java?
点赞 回复
分享
发布于 2020-10-22 10:24
tql八月底
点赞 回复
分享
发布于 2020-10-22 10:27
感谢分享,抓住秋招的尾巴,冲!
点赞 回复
分享
发布于 2020-10-22 11:17
太强了,你之前是什么专业呢
点赞 回复
分享
发布于 2020-10-22 11:29
校友一起北京做同事呀😄
点赞 回复
分享
发布于 2020-10-22 12:01
M
点赞 回复
分享
发布于 2020-10-22 15:02

相关推荐

B站 运营岗 普通Offer是12-15k*15-18,SP的Offer月薪16-17k*15,SSP的offer月薪是20k*15,综合年总包区间在18-30W。
点赞 评论 收藏
转发
71 255 评论
分享
牛客网
牛客企业服务