社招——头条广告后台系统Java
Bytedance:
一面:
1、PGSQL(项目中用的是PGSQL)和MySQL的区别?(这个问题被楼主猜到了,偷笑)
这个问题
2、Voletile关键字的意义?可见性是咋实现的,为啥不是线程安全?
3、synchronized的底层实现?如果两个代码块锁不同的实例,两个代码块的访问会互斥吗?(这个地方其实是想问申请的锁是对象锁,是两个不同的资源)
4、用cookie和session实现用户登录的过程是咋样的,大概说下
5、聊了很久多线程的东西:Disruptor框架的用法,实现(这个是项目中用到的);线程池的用法,传参,线程池的类型,线程数怎么确定的;Future的异步调用过程是咋样的?
6、Future超时的情况?无限递归会造成jvm内存的什么问题?
7、kafka(项目用到)的东西:kafka如何保证可靠性,kafka的主从机制描述下,ISR解释下,消费者的配置情况。
8、几个Linux命令top、nestat之类的
少不了的编程题:输出二叉树每层的最大值节点。
9、操作系统中的用户态和内核态的概念?转换的流程咋样?
10、Java线程的状态有哪些?与OS的进程状态的对应关系?(这个没答好)
整个过程大概花了一个小时,问题楼主基本上都能答出来,有的深一点,有点浅一点,说实话,问的其实不难,但是面很广。
二面:
1、扯项目,你的高并发是怎么实现的,框架的使用方法,原理?然后线程池,这个地方车了很多,还有怎么衡量的指标,然后问了有没有碰到过线上安全事故,怎么而定位的,怎么处理的?
2、给了一个场景,前端页面点击按钮,后端是多实例的,如何去除短时间内连续重复的请求?(这里我给了三个方案,首先按钮置灰。。。然后中间件kafka和K8S可以实现请求流量绑定到指定的或者是特定的后端服务,在后端缓存然后去重)
一、二面是连起来的,中间大约间隔15分钟,两面最后都没有让我提问题。。。
三面凉:
首先吐槽下,三面面试官全程板着脸,全程毫无交流,问啥都没有回应,衣服不在乎的样子,不知道为啥,也没有放她鸽子,还是个女面试官。
1、首先怼了下项目,可能项目比较简单,项目中用到了一个内存缓存来缓解数据库的读压力,被怼,为啥不用Redis,不需要高可用吗?答可能对高可用要求没有那么高吧。。。
下面就是全程怼了Java基础了:
2、HashMap,HashSet,HashTable的区别:
答:balabala。
问:还有呢?还有呢?还有呢?
3、Http和HTTPS的区别:
问:还有呢?还有呢?还有呢?
4、说说gc
问:还有呢?还有呢?还有呢?
5、Http code
问:501到505解释下,403的每种情况呢?
来做到题目吧,一道很简单的单链表,1->2->3->4->5->6, 2 => 5->6->3->4->1->2 链表逆序的变种
双指针加头插法10分钟搞定,可能想让我用递归写吧。到这里气氛已经完全尬住了。
楼主除了http code有几个实在不太记得,Java基础其他回答得应该是还行的。
不懂宇宙条的面试套路,可能资历太浅了吧。哎,又浪费一次机会。校招没有投过头条。
#字节跳动##社招##Java工程师##面经#