首页 > 编程知识 正文

字节跳动软件测试面试题,字节面试题库

时间:2023-05-04 11:28:08 阅读:269801 作者:1067

今天下午两点参加了字节跳动游戏测试开发的面试,面试官小哥哥人很好,很有耐心。上来先让我做了个自我介绍,然后就是项目相关的。因为我的项目是基于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.手撕代码:中缀表达式的值。

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。