8.15 腾讯 二面 运营开发 Java
项目的话就没有必要多说了,说一些有共性的问题吧
2.如果不使用join的话要怎么设计SQL
3.limit a,b是什么意思,会有什么性能上的问题
limit之前的数据先查出来、a代表起点、b代表数量,如果a很大的话,那么MySQL需要先去遍历前a条数据而不是直接定位,所以这里存在性能问题
二、基础
1.描述一下什么是线程安全,讲出一个场景
2.如何保证线程安全
加锁
3.Java上的一些实现
volatile、syncronize、ReentrantLock
又深入讲了一下volatile、主内存、工作内存、可见性之类的
4.有什么无锁策略
CAS
5.除了CAS呢
三、拓展
1.还有在学什么Java方面的框架吗
Netty,NIO通信框架
对于linux来说,IO主要分三种,BIO、NIO、AIO
NIO又可以分为三种,基于轮询、基于多路复用、基于事件回调
2.如何指定使用哪种方式
我也不知道啊
3.知道他底层怎么实现的吗
我说你是不是想问select、epoll那些,但是那些我还没有研究懂哈哈哈哈
4.Netty底层Buffer的实现
用户态、内核态、直接内存空间
四、算法
给定两个数组,数组的每一位代表其二进制数的每一位,求出其二进制加法结果,返回位数组
比如:A={1,0,1}、b={1,1},有101+11=1000,返回C={1,0,0,0}
还算挺常规的题吧,期间面试官也有指出一些可以改进的点,挺好的哈哈哈,许愿三面!!!
#面经##校招##腾讯##Java工程师#