腾讯大佬给的一面

       经过两次的面试,内心再也不飘了,以前自己知道的问题也不得不去重视了,学技术是没有投机取巧的,看书是要结合这代码去看的,要不就又是背书了。

面试的问题如下:

1、Java的回收策略是什么?如何判断可回收状态?引用计数法的弊端是什么?

    答案地址

2、“abc”.equals(a)和a.equals("abc")在工程中一般使用哪个?为什么?

     一般使用第一种,为了防止空指针异常

    具体详解

3、IO如何做到读写不加锁?

   

   使用生产者消费者模式

   生产者消费者详情地址

4、①现在给你一个65535的内存空间,一个持续读,一个持续写,怎么可以顺利运行?

      还是运用 生产者消费者模式;

     ②现在需要持续运行N年,然后怎么做?

      运用最少使用页面置换算法;

     

5、65535Bytes是一个数据buffer,一个线程把数据序列化之后写入,另一个反序列化解析,怎么处理越界问题?

6、现在有一个场景,写线程写到了65534,读线程读到了65500,马上要越界了,怎么处理?

       TCP粘包拆包

       环形缓冲区解决粘包问题

 

7、堆栈的区别是什么?

 

       答案详情

 

8、你new了一个对象小明,对象中存了一个int值(年龄),这个年龄的内存在堆上还是栈上?

         堆上

9、你创建了一个结构体,结构体中有一个HashMap,这个HashMap在堆上还是栈上?

 

         堆上

10、Thread和Runnable的区别是什么?在工作中更倾向于用哪个?

       我们在工程更倾向于使用第二种,因为java是一种单继承的语言,但是为了弥补这种不足,java语言设计者加入了可以实现多个接口的功能,所以我们更倾向于使用第二种。

       线程的三种创建方式

11、try catch finally,try中return了,那么finally还执行吗?

       

       finally可以执行;

       代码测试详情

      

12、红黑树的原理,并手写 红黑树?

13、①在100M内存中,给10亿个QQ号进行排序?

        ②边看边下载视频 ,在我们直接把进度条拉到了N分钟的时候,我们再次下载这个视频的时候,不希望          以前文件中的已下载数据浪费,怎么做?

        bitmap算法

猜你喜欢

转载自taoyongpan.iteye.com/blog/2400919