秋招字节data后端开发一二三面面经

一面90分钟

  • 自我介绍

  • 项目甲骨文

  • java内存结构,哪些结构是同步的?(有点懵逼)

  • java锁有哪些?各自的机制,以及彼此之间的区别和优缺点?

  • 公平锁和非公平锁?ReentroLock是公平锁吗?底层实现的区别?

  • volitile是什么?特点,为什么不能保证原子性?

  • 共享内存和本地副本相当于计算机结构的什么?

  • Spring框架用到的设计模式?手写一个模板方法

  • 关系型数据库和非关系型数据库区别?

  • 数据库索引有哪些?

  • 聚簇索引和非聚簇索引区别和例子?

  • select * 和 select 字段的区别?哪个好?为什么?

  • select * 和 select 字段数据库在运行时有什么不同?

  • 数据库是先写缓存还是磁盘?断电了会怎么样?

  • 数据库一致性怎么保证?怎么回滚事务?

  • 线程池运行机制?优点和缺点是什么?为什么?

  • 线程池七大参数?初始化时核心线程数大小怎么指定?为什么?

  • 线程池出来事务和自己new一个线程处理的区别?各自的适用的场景?

  • CPU密集型和IO密集型?举个例子说一下各自的例子?

  • IO多路复用了解多少?模型?有多少组件?哪些地方出现过?

  • IO多路复用和线程池有什么优缺点?各自适用哪些场景,不适应哪些场景?

  • 消息中间件的垃和推模型?以及各自的优缺点,适用场景?RocketMQ是什么模型?和推拉模型有什么不同?

  • 算法

    • 类似笛卡尔积的算法?时间复杂度?解题思路?```
      /**
       * 
       * 数据格式转换,转换前后如下:
       * 
       *     {                    [
       *      A:[1,2,3]}           {A:1,B:1,C:1} , {A:1,B:1,C:2} , {A:1,B:1,C:3} ...(省略6项)
       *      B:[1,2,3]}   =>      {A:2,B:1,C:1} , {A:2,B:1,C:2} , {A:2,B:1,C:3} ...(省略6项)
       *      C:[1,2,3]}           {A:3,B:1,C:1} , {A:3,B:1,C:2} , {A:3,B:1,C:3} ...(省略6项)
       *     }                    ]
       * 
       */    
      public static List> cartesianCombine(Map> filterMap) {
      }
  • 闲聊

  • 平时在学校怎么安排学习和项目的?

  • 在学校有没有看书习惯

  • 有没有投其他公司

  • 你对将来就业的打算

  • 反问


二面70分钟

  • 自我介绍

  • 实习经历(30分钟。项目难点、项目中使用的技术以及业务思考)

  • jwt是什么?原理?和cookie之间的关系(区别)

  • AOP用来解决什么问题(业务场景)

  • AOP底层实现

  • AOP打日志和业务里面写日志有什么区别

  • 浏览器输入地址再回车会发生什么事情

  • DNS记录格式

  • https证书是怎么起作用的?我自己生成的证书可靠吗?为什么?

  • http2.0特点?需要建立在https上吗?

算法:


三面52分钟

  • 项目甲骨文

  • java怎么实现单例模式(饿汉式、懒汉式、加锁懒汉式、DCL懒汉式、内部类、枚举、工厂模式)

  • java线程同步的方式

  • innodb底层

  • 主键索引和非主键索引的区别

  • 覆盖索引查询

  • 索引的设计思路,怎么设计索引

  • 性别能不能作为索引,为什么?

  • 堆了解多少

  • 算法:建堆和堆排


已发意向书

#字节跳动秋招提前批##字节跳动##面经##校招##后端开发#
全部评论
楼主啥项目啊,没项目要寄了😢😢😢
1 回复 分享
发布于 2022-07-10 15:09
楼主这个面试难度倒过来了,三面反而比一二面简单,想问下楼主,一面的程池出来事务和自己new一个线程处理的区别?各自的适用的场景?怎么回答的
点赞 回复 分享
发布于 2021-09-04 08:04
楼主三面完多久有消息了,周四三面完的,感觉面的一般有点慌,hr就说等消息
点赞 回复 分享
发布于 2021-09-04 11:10
base在北京吗
点赞 回复 分享
发布于 2021-09-04 14:42
楼主三面多久收到意向的呀
点赞 回复 分享
发布于 2021-09-05 00:27
好难啊😅
点赞 回复 分享
发布于 2021-09-07 00:00

相关推荐

点赞 评论 收藏
分享
头像
02-21 16:31
长沙理工大学
大家好,今天分享一个很贴合目前校招时间段的提问:Up你好,本人双非本科大四,软件工程专业。大学前两年因为感觉前端好学,岗位也多选择学习前端。但那时比较懒散,课也多,所以前端也没有学多好。后来互联网寒冬,觉得出去不好找工作。就在大三下开始准备考研,但在去年10月份放弃考研(因为家里的一些事故,一个半月没有复习考研),处理好后,剩70多天感觉考不上值得上的学校。所以干脆准备就业,但感觉前端这个方向特别凉,于是换成了Linux c++方向(为此拒绝了一个前端实习)10月底到现在复习了c语言,学习了C++语法,特性,包括STL这些。学习了Linux系统编程进程线程,网络编程tcp/udp,多路转接,l...
牛客230000345号:毕业入坑两年,提点参考的东西吧,建议边找边备研,学历才是第一生产力,后期如果你要职业发展,这是最基本的几个了,工作和晋升除了项目经验,不就是比的派个人学历、吹牛能力和一堆头衔了(晋升的话,派系很重要)。 工作方面,不了解服务端,但是你可以看招聘,其实相比来说qt在客户端和服务端都可以用到,而且跨平台兼容性好,而且qt不就是c+++吗(学好c++,用哪个框架都不头痛),qt不只是给你个UI界面,封装的很多东西都是可以借鉴的。看你想去哪个城市,现在长沙软件行情不好,真心建议没上岸可以去深圳看看,长沙这边工资对标深圳砍半(眼泪流下来),长沙不少大一点私企面试的也开始卷学历卷项目(双非泪奔),如果想去国企你要能吹当然也可以(其实国企也就那12%的公积金了,并不稳定,但是稳定穷是肯定的)。 想去好一点的,建议把基础打牢,学历一定要提高(长期发展一定要,国内还是不少地方学历论的),如果有实习期建议能参与公司项目就参与,不然只会被拷打,最好从项目或者demo里把设计模式、指针、特性、模板、多线程实现并发并行、通讯协议、数据库这些基本的学会一部分,建议再学学qml和Linux,最好学一点嵌入式(Linux用在嵌入式板挺多的),掌握一门脚本语言(Python,Python,Python)和git或者svn代码管理,没签合同(不是三方),你还是校招生,校招只有一次(当然也可以说是本科一次,硕士一次,博士一次),用了错过就没有了,好多公司最喜欢招应届生了,一张白纸(又便宜又容易被PUA)。 最后,其实纠结这么多,不如第一份工作就选你最喜欢的编程语言、框架和操作系统,反正都是牛马,也不一定只吃一家喂的草
点赞 评论 收藏
分享
评论
7
33
分享

创作者周榜

更多
牛客网
牛客企业服务