字节跳动电商后端java一二面面经

一面:(2.3 68min)
面试的是一个小姐姐,面试体验很好,会根据回答抛出问题,过程还算顺利,没太多卡壳的地方

  1. 自我介绍
  2. 项目介绍
  3. 项目用到token,说一下
  4. 项目如何实现的,如果多终端呢
  5. 还可以存放在哪里 session
  6. 那cookie是什么
  7. 为什么当时没有这么实现? 回答:因为不会
  8. 算法题:正整数开根,保留两位小数
  9. JMM说一下(开始背书)
  10. 说到线程,那么线程是属于哪块区域的
  11. GC说一下(开始背书)
  12. 有用过hashmap吗?实现?
  13. 是线程安全的吗?
  14. 想要线程安全怎么办?
  15. (经典HashMap背书)
  16. 为什么使用红黑树
  17. 红黑树特性
  18. 和平衡搜索二叉树的区别
  19. 时间复杂度?
  20. 在浏览器输入一个网址会发生什么?(背书了背书了)
  21. TCP/IP模型和OSI模型
  22. 用过索引吗
  23. 怎么样确定使用到了索引
  24. 索引类型
  25. 为什么用B+树
  26. 和B树有什么区别
  27. 聚簇索引和非聚簇索引
  28. 有用过锁吗
  29. 说一下lock和synchronized的区别
  30. 代码题:手写一个单例模式吧(默写)
  31. 看到有volatile关键字
  32. 说一下volatile吧
  33. 和synchronized的区别
  34. 乐观锁悲观锁
  35. 反问环节

一面结束,问了面试官感觉面试下来感觉如何,说挺好的,就是有的地方遗忘了,希望后续补全一下知识点。
一面的大量背书直接导致我后续准备接着复习基础,而且一面没有问到计网和多线程,操作系统的知识,感觉之后面试可能是重点,就开始重点准备这一块。

二面 (2.7 53min)
这次的面试官起来就知道是一个大佬,后来问的一些问题也证明了我的猜想

  1. 自我介绍
  2. 没有问项目,问为什么没有实习,自己学习是怎么样学习的,课程成绩
  3. 你觉得自己相比一年前进步了多少
  4. 算法题:编辑距离
    我直接说了我刷到过这道题,然后开始默写,写完了问到替换的时候,我卡住了,就是因为这么卡了一下,让面试官认为我是在背题,后面思考了一会就说了出来,然后还问了我状态转移方程是什么,我说我做动态规划不太会写这种方程,然后大概解释了一下状态有哪几种,状态之间是如何转移的。
    开始提问:
  5. 你使用的是什么版本的jdk?
    硬着头皮说1.8,因为我也没在意,然后开始问1.6和1.7 1.8的差别
    (没准备,从JMM角度和HashMap角度说了一下)
  6. HashMap和HashTable的区别是什么
  7. 那么HashMap有没有线程安全的版本
  8. 如何实现的?
    分段锁分段锁,但是当时忘了,就记得一个继承于ReentrantLock,包括一些细节也没有那么了解,只说了个大概,一些情况需要使用到synchronized关键字。
  9. 说到使用到了mysql 问索引
  10. 索引数据结构
  11. 为什么要用b+树
  12. 聚簇索引和非聚簇索引 (一开始说反了,后来突然意识到)
  13. b+树叶子节点链表一定是放的是key和值吗?
  14. 怎么去分配聚簇索引和非聚簇索引
  15. 为什么这么去分配
  16. 你的项目有很大量级吗,有做过数据库优化吗
    这里实话实说没有,然后直接没问,但是是准备了这方面的知识的
  17. 然后问int存到数据库里面一般你都用什么类型来接
    一开始说我自己项目里我全部是用varchar的,但是显然这样不是最优选择,可以看出来面试官有点迷惑(用varchar?!),最后说用int
  18. 顺着问varchar(35)的含义
    一开始说错了,思考了一下,正确说出来了
  19. 又问了中文在varchar中占几个字符
    回答了不同编码中中文所占字符应该不一样的,回答的2个,但实际是3个,后续面试官纠正的
  20. 又问你在自己项目里有注意过这个编码问题吗
  21. 面试官:感觉你的项目都使用的比较老的技术栈啊(因为看到简历上写的有一个项目是使用jquery和js实现前端页面)
    然后开始问原因,我解释这是刚刚开始做小项目的时候使用的,后来就开始接触前端vue并且结合做前后端分离开发,但是自己还是主要往后端去发展的。
  22. 面试官:感觉你都是为了学一个技术去学啊,你有了解过linux吗
    说了说自己之前用虚拟机部署redis的经历
  23. 面试官:为什么要去用redis呢
    讲了一下redis的优点,然后说而且这个现在基本都在用
  24. 面试官:你说快,那有多快,相比mysql快很多倍,是多少倍,是多少量级的,你现在的电脑配置说一下,四核i5最多可以跑多少个连接
    (面露难色)没试过,但是我之前看学习视频的时候看到别人测过,大概是在几万到几十万这个范围
  25. 面试官:几十万是几十万?
    十几万,根据redis中的一些配置的不同会有上下的浮动

反问环节:
问了没回答出来的编码问题,问之后需不需要去专门注意这一块的知识
又问了根据这次面试,觉得我那块是需要加强的
然后面试官给出了他的见解和建议,让我多思考

反问环节一结束我就大概知道自己凉凉,三四天准备的东西一个都没有问到,就算法最近恶补了一下刷到了,问的问题都是自己平时想都没有想过的,确实就还需要努力,二面直接让我认识到字节的面试难度,在一些小细节上也需要深挖,而且对于整体知识点的连接也尤为重要。

最后的最后还是继续努力,春招上岸自己满意的公司!!也感谢字节大大给的面试机会

#面经##校招##字节跳动##Java工程师#
全部评论
挺猛的问的挺细,看到你的这篇我突然又觉得有些细节准备的不是很好了,感谢楼主
3 回复
分享
发布于 2021-02-07 21:19
如果挂了,这个情况应该就是不想面你,如果缺人,过往经历符合部门要求就过了,你问问工作了的有几个会写编辑距离的,,面试出hard我直接敷衍根本不报希望,就算你写出来了也处处为难你,因为人家就是刷kpi的
3 回复
分享
发布于 2021-02-08 16:16
滴滴
校招火热招聘中
官网直投
官网投的简历吗
1 回复
分享
发布于 2021-02-07 19:39
我也是面了电商。我也是java技术栈,结果一面就凉了。碰到的面试官 java一点不问,上来就操作系统。。还有编译原理。。都没学过。一点都没准备。。凉的很彻底。想问问楼主,计算机基础 除了计算机网络和操作系统,还应该看看什么啊?
1 回复
分享
发布于 2021-02-09 11:39
感觉最后面试官的态度好像严格(坏)起来了
点赞 回复
分享
发布于 2021-02-07 21:37
楼主请问你这个投完,春招还能投字节吗
点赞 回复
分享
发布于 2021-02-07 22:12
好难
点赞 回复
分享
发布于 2021-02-07 22:50
是base深圳嘛
点赞 回复
分享
发布于 2021-02-07 23:36
楼主为啥挂啊,大概答出来多少了?我以为算法题写出来是不会挂的
点赞 回复
分享
发布于 2021-02-08 01:01
老哥什么学历啊,非科班能过简历吗?
点赞 回复
分享
发布于 2021-02-08 11:04
13 14 15 题的答案是什么?
点赞 回复
分享
发布于 2021-02-08 11:25
需要笔试嘛
点赞 回复
分享
发布于 2021-02-09 10:52
大佬,请问下24题的答案是啥! 拜托!!
点赞 回复
分享
发布于 2021-02-09 19:17
读取1000个数据的时候,redis效率大概是mysql的八倍(自己测的)
点赞 回复
分享
发布于 2021-02-10 22:27
楼主三面了嘛
点赞 回复
分享
发布于 2021-02-23 21:42
问问面试不会问spring之类的吗,感觉tcp这块重要一点?
点赞 回复
分享
发布于 2021-04-07 17:03
请问楼主面杭州岗位嘛
点赞 回复
分享
发布于 2021-05-20 20:36

相关推荐

🕒岗位/面试时间前端开发工程师/4.9 17:00面试时长:1h👥面试流程1、自我介绍项目/聊天:2、为什么会选择前端这个方向?(提到了自己平时看一些网站的时候总感觉有很多地方可以优化)3、有看过哪些网站你觉得有哪些点是可以改进的吗?(没有直说,但是大致说了一下最近看的不同厂的招聘官网有些质感的差别)4、在大学期间做过的项目哪个是让你感觉最有挑战的?(提到了第一次参加软件设计比赛的项目,当时基本没有web开发基础)5、如果你已经有了一定的技术基础再去做项目,你觉得哪些问题是对你最有挑战的?6、在过程中有没有遇到什么技术的难题?7、为什么先学react再学vue?8、现在react的熟悉程度是怎样的?9、为什么react hooks不允许在条件判断语句里面初始化?10、讲一下你认识的虚拟dom11、当页面dom结构非常复杂的时候,使用虚拟dom进行diff的过程性能不会更差吗?基础:12、有了解过浏览器的同源策略吗?13、平时是怎么解决跨域问题的?(讲了后端的CORS和前端的请求代理转发)14、有了解过jsonp吗?(有,就是那个创建script标签加载外部脚本)15、讲一下get和post的区别?16、get和post请求在跨域问题上会有差别吗?(应该没有,但是简单请求和复杂请求就有差别)17、get请求的路由参数的大小限制是多少?18、get和post在应用层之外有区别吗?(应该没有吧,怀疑是在设坑)19、平时有用过es6、ts的语法吗?20、讲一下export和export default、require的区别21、知道AMD和CMD的概念吗?算法/根据代码分析结果:1、根据代码给出输出结果(异步任务执行顺序问题,见附图1,当时没有保存下来,印象中大概是这样的)2、判断f.a和f.b是否存在?(原型链问题,见附图2)3、对给定数组进行乱序处理 反问:技术栈:大部分react、小部分vue业务:国际电商的物流供应链业务🤔面试感受面试官给人的感觉很友善亲切,全程的气氛也不会太过紧张。八股方面答得还行,但是有些原理方面的知识还不太熟悉,后续得再去补充学习一下。😭后续:隔天中午:已回到人才库
点赞 评论 收藏
转发
30 225 评论
分享
牛客网
牛客企业服务