字节跳动Java后台开发商业变现一面+二面凉经

绝绝的,问的全是我没复习到,或者本身有些不清楚的知识点,心痛了
1、项目介绍
2、关系型数据库和非关系型数据库,你认为哪个查的快?
我答:查询会比较快。。。
正确:非关系型数据库格式灵活,性能优越,可扩展性,低成本性,但复杂查询不容易实现
3、http调用rpc调用
我:http用于应用层的协议,rpc是远程过程调用。。(基本相当于没说)
正确一点:RPC基于TCP/IP协议的,http基于http协议的,http是传输层TCP之上的,效率上rpc更好;以及更详细的。。。
4、每一个线程使用了Thread Local没有清空会出现什么问题?
答:value会一直存在于内存,有可能回内存泄露?
5、并发的情况下怎么保证数据一致性?
答:使用线程安全的容器:ConcurrentHashMap, 原子类,vector等(当时已经晕了,忘了说锁和同步了)
6、子线程能否拿到ThreadLocal 中的值?
不会。。但我认为不能;
后来查到使用InheritableThreadLocal实现子线程获得父线程的ThreadLocal;(学到了)
每一个Thread线程都有属于自己的ThreadLocalMap,里面有一个弱引用的Entry(ThreadLocal,Object)
7、给线程1中对一个类x加了类锁,另外一个线程new 了这个类x的对象,访问它的public方法?
不能
8、Java中是值传递还是引用传递?
答:值传递
学到了:
值传递:指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。
引用传递:是指在调用函数时将实际参数的地址直接传递到函数中(的形参),那么在函数中对参数所进行的修改,将影响到实际参数。
举例判断
9、hashmap为什么是线程不安全的?

10、1.8之后有什么新特性?
拉姆达表达式
算法题:田忌赛马

总体而言,学习了,哎, 努力学习

二面:
1、写代码:
线程逐一打印1,2,3;
问问题:
2、你这个代码会造成死锁吗?
不会,因为我用的synchronized, 如果用lock要在finally里写lock.unlock()避免死锁;
3、里面的一个参数需要加volatile关键字吗
不用
4、事务
5、索引类型
6、写sql语句:
员工表+部门表 查找每个部门中工资最多的那个员工的员工信息及工资;
7、给一个一天的log日志,其中存有uid,login时间,logout时间,怎么查找到这一天中登陆次数最多的uid
8、怎么查找在哪个时间用户量最大(写代码)

彻底凉了,好难,学习每一天
#面经##字节跳动##Java工程师#
全部评论
昨天也是字节一面,问的都是没复习的,全程问了一道八股 四十分钟情景题
点赞 回复
分享
发布于 2021-03-31 09:09
楼主有问过这个组做的业务是什么吗?
点赞 回复
分享
发布于 2022-04-27 23:41
阅文集团
校招火热招聘中
官网直投

相关推荐

点赞 评论 收藏
转发
3 20 评论
分享
牛客网
牛客企业服务