字节游戏测试开发面试题

今天下午两点参加了字节跳动游戏测试开发的面试,面试官小哥哥人很好,很有耐心。上来先让我做了个自我介绍,然后就是项目相关的。因为我的项目是基于MVC模式开发的,所以面试官先问了对MVC模式的理解还有项目中是怎么使用的,然后我大概讲了一下。接下来就问我MVC模式有什么缺点,这个没有回答上来(既然项目中都用了,那就说明我觉得这个模式很好。/捂脸)
项目说完之后开始进入知识点的提问。

1.java里的GC说一下

首先是判断对象是否存活
引用计数法(给自己挖了个坑)
可达性算法
然后就是垃圾回收的四种算法:标记-清除算法、标记-整理算法、复制算法、分代收集算法
还有就是各种垃圾收集器

为什么要分代

我回答的是提高效率,新生代中GC频率高

引用计数法具体指啥,还有它的缺点是啥

给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。 引用计数算法的实现简单,判定效率也很高,在大部分情况下它都是一个不错的算法。但是它很难解决对象之间相互循环引用的问题。
Python、ActionScript等语言都是基于引用计数法。

2.Java中的堆栈和队列

我回答的栈和队列,他说不是数据结构的,那就不知道了。

3.了解泛型吗,说一下,泛型的好处

知道这个概念,不知道该咋表述

4.基本类型和包装类型的区别,为什么要有包装类型?包装类型存储在哪儿

5.java的面向对象,你是怎么理解的?

6.你知道那些排序算法

冒泡排序,插入排序,堆排,快排,归并排序

说一下冒泡排序,怎么优化,时间复杂度是多少

讲一下堆排

7.网络的OSI七层模型,还有IP在第几层,TCP和UDP在哪一层,那TCP模型中呢

8.说一下TCP和UDP的区别

TCP的三次握手过程

9.讲一下你知道的HashMap相关的

10.什么是二叉树,什么是满二叉树,二叉树的深度指的是什么

11.说一下线程和进程,两个线程同时想拥有一个资源会发生什么,线程间是怎么实现共享内存的

12.还有哪些情况会发生死锁

13.你知道哪些Linux命令,查看进程用哪个命令

14.手撕代码:中缀表达式的值。

大概就这些问题了,后面就是反问环节,总共面了一个小时的时间。

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值