Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 38484|回复: 158

[软件开发讨论] [编程开发]开发能力自测

  [复制链接]
RecursiveG 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
3923
钻石
性别
保密
注册时间
2013-8-19
查看详细资料
发表于 2015-10-23 12:43:47 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 RecursiveG 于 2015-10-25 23:56 编辑

编程开发板块 能力自测

说明

本能力自测题为活跃气氛、增加交流而设计。
欢迎各位触手用力拍砖并提供提供新的题目。
开放答题,欢迎讨论。禁止水回复,否则直接警告+删回复。
回贴按倒序排列

基础篇是任何想要进行Mod/插件开发的人员应知应会的内容
中级篇考察更高级/MC相关的内容
高级篇为专(chù)家(shǒu)准备
部分题目有mod方向和插件方向的区别,可以选择性做题

通常,基础篇接近满分,可以近似无阻碍学习Mod/插件开发。
中级篇接近满分,可以有效完成大部分Mod/插件开发任务。
高级篇……不来写份教程么骚年?

初级篇

1. 连线
项目
分类
JAVA
运行时环境
JVM
编程语言
JRE
开发文档
JDK
运行时虚拟机
JAVAC
开发环境
*.java
目标文件
*.class
Integrated Development Environment
Eclipse
编译器
IDE
IDE
Gradle
源文件
Javadoc
构建工具
2.以下哪些代码能通过编译?假设用到的变量都被正确定义,需要的包也被导入
  1. 1. int i=0;
  2. 2. for(;;);
  3. 3. List<String> myList = null;
  4. 4. Map<Integer, Integer> map = new Map<Integer, Integer>;
  5. 5. Map anotherMap = new Map();
  6. 6. if (currentIndex==index=getIndex()) doSomething();
  7. 7. while(true);
  8. 8. /*/* Important Comment */*/
  9. 9. public static main() {}
  10. 10. private foo(){foo();}
  11. 11. @NotNull MyClass instance = null;
  12. 12. throw RuntimeException();
  13. 13. List<Player> myList = new List<Player>();
复制代码
3. 使用泛型构造一个适合并便于使用的类型用于存储以下JSON
  1. {
  2.   "list1": [
  3.     {
  4.       "subVal1": 11,
  5.       "subVal2": 12
  6.     }, {
  7.       "subVal3": 13,
  8.       "subVal4": 14,
  9.       "subVal5": 15
  10.     }
  11.   ],
  12.   "list2": [
  13.     {
  14.       "subVal6": 16
  15.     }
  16.   ]
  17. }
复制代码
4. 将上一题中的JSON改写为YAML
5. 32位操作系统无法寻址4G以上的内存,请简述原因
6. Java中 foreach 循环的本质是什么?
7. 举出 Java 中的一处语法糖
8. 清楚理解 for, while, do while, for, break/continue 的作用和用法
9. 指出下列哪些函数定义是本质相同的:
  1. void foo(int a, int b);
  2. void foo(int x, int y);
  3. void bar(List<Integer> list);
  4. void bar(List<Double> list);
  5. void foo(Integer a, Integer b);
  6. void foo(List<Integer> list);
  7. void bar(List list);
复制代码
10. 简述 extends 关键字和 implements 关键字的区别
11. 编译以下代码会生成几个.class文件?
  1. public class A {
  2.     public interface IFoo { }
  3.     public static class B implements IFoo { }
  4.     public static void method1(IFoo foo) { }
  5.     public static void method2() {
  6.     method1(new IFoo() { });
  7.     }
  8. }
复制代码
12. 用命令行环境编译并执行以下程序需要执行什么命令?
  1. public class A {
  2.   public static void main() {
  3.     System.out.println("hello, world");
  4.   }
  5. }
复制代码

中级篇

1. 描述以下函数的作用并说明该函数是否高效。若不,试写出一个高效的函数完成同样工作。
  1. int func(int x) {
  2.     if (x == 0 || x == 1) return 1;
  3.     if (x < 0) throw new IllegalArgumentException();
  4.     return func(x - 1) + func(x - 2);
  5. }
复制代码
2. 阅读以下程序段:
  1. public static MyClass {
  2.     public String x;
  3.     public MyClass(String x) {
  4.         this.x = x;
  5.     }
  6. }
  7. public static main(String args[]) {
  8.     String str1 = "String #1";
  9.     List<String> list1 = new ArrayList<String>();
  10.     list1.add(str1);
  11.     str1 = "Not String #1";
  12.     System.out.println(list1.get(0));
  13.     MyClass myClass = new MyClass("String #2");
  14.     List<MyClass> list2 = new ArrayList<String>();
  15.     list2.add(myClass);
  16.     myClass.x = "Not String #2";
  17.     System.out.println(list1.get(0).x);
  18. }
复制代码
程序输出
  1. String #1
  2. Not String #2
复制代码
结合你对`String`类的理解,解释出现以上现象的原因。
3. C++中,使用new构造的对象必须使用delete删除,为什么Java不需要?
4. 结合Java中泛型实现的机制,解释为何 `List<int> a;` 为何无法通过编译
5. 执行下列程序,写出执行结果,并解释原因:
  1. public class A {
  2.   public static class B {
  3.     private int x;
  4.     public B(int x) {
  5.       this.x = x;
  6.     }
  7.   }
  8.   public static void main(String[] args) {
  9.     A a = new A(12);
  10.     try {
  11.       Field f = B.class.getDeclaredField("x");
  12.       System.out.println(f.get(a));
  13.     } catch(Exception ex) {
  14.     }
  15.   }
  16. }
复制代码
6. 有一变量定义 “private static final int NUMBER = 42;” ,欲使用反射修改其值,会有什么问题?
7. 简述MC不能有效利用多核处理器的原因
8. 解释mcp和forge项目之间的关系(MOD方向)
9. 解释forge, cauldron, bukkit之间的关系
10. 编写Mod时,我们会用到Proxy,简述Proxy的作用和使用Proxy的必要性。(mod方向)
11. 解释:什么是NMS类,分析使用NMS类的带来的好处和问题(插件方向)
12. Minecraft是一个商业程式,随意散布会面临法律问题。Forge与Bukkit项目组是如何应对这一问题的?

高级篇

1. 观察<version>.json,纯净的游戏的主类是Minecraft,而安装了Forge的游戏主类是LaunchWrapper。简述LaunchWrapper的作用(mod方向)
2. 解释obfName, srgName, mcpName的区别,并简述mod从编译到运行中经历的两次混淆/反混淆的时机和作用。(mod方向)
3. 简述ASM 和Java Bytecode 的关系。(mod方向)
4. 对比 ASMTransformer 和反射,分析其各自的优势和劣势。(mod方向)

拿 BBCode 排版简直就是灾难 2015-10-23 更新

评分

参与人数 20人气 +23 金粒 +196 收起 理由
45gfg9 + 1 开发能力为0 我枯了
Dogend + 1 Ssssssssssssssssssss
芝十香 + 1 + 15 总有一天我会通过基础题(挖坑).
Saukiya + 2 + 40 0-楼主你太毁信心了~
Hueihuea + 2 + 30 终于…… 终于都会做了
2373281465 + 5 Orz不服不行
小cheng + 1 + 1 好难懂、哎
Kedgeree + 1 + 15 一道题都不会的我...滚回游戏技巧区....
矿工小周 + 1 MCBBS有你更精彩~
DarcJC + 2 楼主就这样骗了13人气90金粒
冰柠檬汁 + 1 全都meng bi
SmallKK123 + 1 + 6 楼主就这样骗了10人气90金粒
z魔 + 1 我竟只会连线(ノ?益?)ノ彡┻━┻.
鸭蛋只吃黄 + 1 已测试,开发能力为0...= =
土球球 + 15 中级篇第5题第9行是不是写错了2333.
zzzzzzzabczz + 1 基础我也就会一半,233333
simon3000 + 2 帮我提个意见赶紧把简繁转换给修了....
andylizi + 2 + 33 楼主你太毁信心了~
ufof + 2 + 35 楼主你太帅了~
mine米 + 1 一个也不懂

查看全部评分

阿狸哥哥 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
337
钻石
性别
保密
注册时间
2017-7-14
查看详细资料
发表于 4 天前 | 显示全部楼层
想学怎么反作弊awa
回复

使用道具 举报

wjwrh 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
9482
钻石
性别
保密
注册时间
2013-7-29
查看详细资料
发表于 6 天前 | 显示全部楼层
梦回大一java课?
回复

使用道具 举报

TheBlock 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
122
钻石
性别
保密
注册时间
2020-3-1
查看详细资料
发表于 7 天前 | 显示全部楼层
唉....一直想做MOD,可是又没有JAVA基础,又不知道怎么入门.....

我该怎么办啊qwq......
回复

使用道具 举报

纯电音向 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
116
钻石
性别
保密
注册时间
2020-3-27
查看详细资料
发表于 2020-3-27 23:59:20 | 显示全部楼层
害,我学python还是转Java吧
回复

使用道具 举报

宇子之 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
89
钻石
性别
保密
注册时间
2015-5-2
查看详细资料
发表于 2020-3-25 17:59:42 | 显示全部楼层
额,我是学c++的我想问问Java 的面向结果是什么样的
回复

使用道具 举报

云玩家Online 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
99
钻石
性别
保密
注册时间
2020-3-17
查看详细资料
发表于 2020-3-24 19:48:21 来自手机 | 显示全部楼层
可以有
回复

使用道具 举报

青蛙雨了 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
78
钻石
性别
保密
注册时间
2020-2-5
查看详细资料
发表于 2020-3-22 15:02:33 来自手机 | 显示全部楼层
大哥厉害
回复

使用道具 举报

chenjj100419 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
108
钻石
性别
保密
注册时间
2020-1-28
查看详细资料
发表于 2020-3-20 18:05:53 | 显示全部楼层
NB兄嘚
回复

使用道具 举报

Nner 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
54
钻石
性别
保密
注册时间
2015-9-30
查看详细资料
发表于 2020-3-18 11:26:04 来自手机 | 显示全部楼层
不错不错非常喜欢
回复

使用道具 举报

小笨猫 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
181
钻石
性别
保密
注册时间
2018-1-22
查看详细资料
发表于 2020-3-13 19:42:49 | 显示全部楼层
非常可以 我一点都看不懂
回复

使用道具 举报

櫻長sama 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
129
钻石
性别
保密
注册时间
2020-2-24
查看详细资料
发表于 2020-3-12 22:08:21 | 显示全部楼层
我感到头发在掉落
回复

使用道具 举报

973479134 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
143
钻石
性别
保密
注册时间
2013-7-5
查看详细资料
发表于 2020-3-8 23:26:06 | 显示全部楼层
完全看不懂,我的天。、、、
回复

使用道具 举报

2251667993 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
59
钻石
性别
保密
注册时间
2016-8-6
查看详细资料
发表于 2020-3-7 22:33:55 | 显示全部楼层
总有一天我会通过基础题(挖坑
回复

使用道具 举报

Billy12345 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
549
钻石
性别
保密
注册时间
2019-8-18
查看详细资料
发表于 2020-3-7 15:59:34 | 显示全部楼层
初级就考YAML?我人都傻了
YAML好像mod用不到吧。。。
作为一个新手modder我使用 json+properties解决一切配置
回复

使用道具 举报

erbin52 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
137
钻石
性别
保密
注册时间
2017-7-29
查看详细资料
发表于 2020-3-4 18:58:02 | 显示全部楼层
支持  很适合刚入门的人!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2020-4-4 12:36 , Processed in 0.109786 second(s), Total 24, Slave 23 queries, Release: Build.2020.04.01.1425, Gzip On, MemCached On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

© 2010-2020 我的世界中文论坛 版权所有 本站原创图文内容版权属于原创作者,未经许可不得转载

快速回复 返回顶部 返回列表