说在前面。
去给大佬们当分母系列。不知道游戏服务端工程师是干啥的。求职意向不在此。之所以参加是想看看字节跳动的笔试是个什么样的。以下给出问题,答案的话,自己找,也是学习的过程。大佬们就飘过把。。。
原文链接:https://blog.csdn.net/qq_37888254/article/details/94357352
1.单选择(10 * 1')
1. Java中 System.out.println('"13" + 8); 输出是什么?
2. 初始的排列序列对下列哪个排序算法没有影响。
3. JVM中,内存区域不是线程拥有的是?
4. 不是链表的特性。
5. 不能匹配bytedance的正则表达式为?
6. cache的目的是什么?
7. SpriingMVC注解有哪些。
8. 数据库select * from T1,T2和select * from T1 a, T2 b where a.id == b.id.分别返回的记录。
9. 10个糖果,每一天都至少吃一个,最后吃完,有多少种不同的吃法。
10. HTTP 403 是因为什么?
2.不定项选择(5 * 2')
10. 关于线程释放的。join, sleep,yield,wait
11. 关于HashMap和HashTable
12. 关于Cookie和Session
13. 稳定的排序算法有哪些
14. final,volatie,finalize,wait和notify
3.编程(10' + 20' + 30')
3.1.链表的离尾结点为K的结点元素值
给定一个链表的长度N,和N个元素值,返回离尾结点距离为K的结点的元素值。
输入第一行链表的长度:N
输入第二到第N+1行:N个元素值
输入最后一行:K
输入样例:
4
1
2
3
2
1
输出样例:
3
3.2.发糖果
N个学生排成一排,每个学生的分数是一个整数,老师要给每个学生至少发一个糖果。如果一个学生的分数比邻居的分数高,但是发的糖果却比没有邻居的多,那这个学生就会不高兴。找出老师要使得N个学生都高兴的最小糖果数。
输入第一行学生数:N
输入第二行:N个学生的分数
输入样例:
5
80 90 99 80 70
输出样例:
9
3.2.马里奥
给定一个长度为N一维数组代表的路径,每个数组值(>=0)代表从该位置向前或者向后弹跳的最大步数(即:可以弹跳1到最大步之间)。如果是0,则代表是悬崖。马里奥开始会出生在一个随机的位置P。一维数组最右端的位置是终点(例如:10 0 2 1 1 0 1 终点)。现在求马里奥从出生点到达重点需要的最少弹跳次数。如果终点不可达,那么返回-1。
输入第一行路径长度和马里奥出生位置:N P
输入第二行:N个位置上的最大弹跳长度
输入样例:
7 4
10 0 2 1 1 0 1
输入样例:
3
4.问答 (20’)
4.1.抽象类和接口的区别
4.2.final, finally, finalize的区别
4.3.实现线程安全的三种单例模式