· 10 years ago · Sep 19, 2016, 07:06 AM
1IGN (In Game name): Ytt
2
3What is your full name (first and last): *******************
4
5Skype: representativesmc – Discord: Adam#9261
6
7How old are you? 16
8
9If you are under the age of 18, would your parents be alright with signing the NDA discussed above? Yes.
10
11How many hours a week can you commit to programming things for Badlion?: I can commit up to 25 hours a week to badlion, but on average, around 15-20 per week.
12
13How many years of programming experience do you have?: 2 years.
14
15What programming languages do you know?: Java, SQL
16
17What programming languages are you fluent in (at least 3-6 months)? Java
18
19What is Object Oriented Programming in your own words?: Object Oriented programming is the logical successor of conventional programming. Object oriented programming is built around Objects and the four keys of OOP: Abstraction, Polymorphism, Encapsulation, and being able to reuse these objects.
20
21Define what Abstraction is in your own words. Abstraction was the most difficult OOP concept for me. For lack of better words, abstraction in programming languages is determining logic and basic structure of objects, but without any logic. Abstracted methods force an implementation, as they’re not allowed to contain a body. An example of this would be, in the spigot api, when you extend CommandExecutor, you’re forced to specify an implementation of the onCommand method.
22
23What is the difference between source files and compiled files?: In Java, source files are the .java files that you do all the coding on. Compiling is the process of converting these .java files to .class files, which are files of bytecode that can be executed by the java vm, unlike .java files. These .class files are then able to be packaged into a jar.
24
25Java Specific Questions
26What are the 8 basic data types in Java? Byte, short, int, double, long, float, char, and Boolean.
27What is the difference between a List and a Set? Lists are allowed to contain duplicate objects, while lists are not. Also, unlike sets, the different implementations of the List interface are all ordered by the insertion order. ArrayList#get(0) will always return the first object that is added to the arraylist.
28What is the difference between a List and a Map? Unlike lists, maps have a key value pair, and keys are only able to be “mapped†to one value. Keys must be unique (although there are workarounds to this, such as in Guava’s MultiMap), although values can be identical. Also, except for special implementations, maps cannot be counted on to preserve insertion order.
29What does the keyword "static" do and mean? The keyword static means that there can only be one instance of that variable or method. It is not a property of an instantiated object of the class, it is a property of the class it originates from.
30What does the keyword "final" do and mean? The keyword final means that the variable it is assigned to cannot be assigned another reference. If you have a final String hi = “hiâ€, you cannot re-reference that string.
31What does the keyword "new" do and mean? The keyword new initializes a new object through a class’s constructor method. If there is not one declared, there is an implicit default constructor that takes no parameters. Basic data types do not need the new keyword when initializing one because they are given a special shorthand. String one = “t†is the same thing as String one = new String(“tâ€), although that is redundant.
32How can you properly clean up memory so that you do not create memory leaks? There are many different ways that you can avoid memory leaks. First of all, avoiding using static fields unless it is a constant. Make sure that objects that need to be cleaned are not referenced anywhere else (or else the GC won’t clean it!). Make sure thread-local variables are properly disposed of if the thread is always kept alive. Otherwise, when a thread is dead, it will be cleaned and you won’t have to worry about a leak :^).
33What is the difference between an interface and a class?: An interface is basically just a list of methods that are related. For example, a Car interface could have methods speedup(), slowdown(), and break(), as all implementations of Car would have the same behaviors as specified in the interface.
34What is a jar file? A jar file is just a packaged file that can contain classes and data that can be associated with these classes, such as dependencies, images, and other files.
35
36Bukkit Specific Questions
37What is a plugin?: A plugin is an implementation of the bukkit api that modifies the craftbukkit server. Without modifying craftbukkit source, the API hooks that bukkit provides are all you can use to “plug in†to the server.
38What is a command? A command is a the first argument that is provided when entering in text on a server. Commands always start with a “/â€, and examples are /help or /me, both of which are provided by CraftBukkit (although they can be overwritten in commandpreprocess).
39What is an event? Events are what are fired when there is any server change, such as when a user eats or moves.
40What is a listener? A listener “listens†for a specific event to happen, and when it does, executes code that you provide.
41Where is the best place to go and look things up if you are not sure about if something exists in the API or not? The Bukkit and Spigot javadocs, and the spigot/bukkit forums are also a good resource.
42
43BungeeCord Specific Questions (some of the answers might or might not be the same as Bukkit section)
44
45
46What is a plugin? Same as bukkit, except that it modifies the bungeecord server.
47What is a command? Same as bukkit.
48What is an event? Same as bukkit, but events are different, such as when a user logs in to the proxy or switches between servers.
49What is a listener? Same as bukkit.
50Where is the best place to go and look things up if you are not sure about if something exists in the API or not? The Bungeecord javadocs, and the bungeecord subforum on the Spigot forums are another resource.
51SQL Specific Questions
52
53
54What does "SELECT" mean?: Queries data from the selected table in a database, depending on the specified parameters.
55What does "UPDATE" mean?: Updates data in a specific table.
56What does "INSERT" mean?: Inserts a new row of data in a table.
57What does "DELETE" mean?: Deletes a row.
58
59Sidenote: all four of the above are able to affect multiple rows at once, depending on the parameters supplied.
60
61What is a column?: A table “header†in which all rows in a table must have a data value (or potentially null) for it.
62What is a row?: A set of data for each column.
63What is a subquery? Can you give an example of one? I am not knowledgeable in subqueries, and I do not want to “bullshit†my way through this application and destroy any respect.
64What is a primary key? A unique key? A key? I do not know.
65
66Projects I have been working on:
67https://github.com/adamratzman/Discord (Discord multipurpose bot I built for my clan)
68
69https://github.com/adamratzman/YttbotAPI (I decided to make a REST API because I don’t have a whole lot of experience making APIs, so I am currently in the process of switching from MariaDB to that. It is currently being developed but incomplete.)
70
71Answers to your problems are located at this GitHub repository:
72https://github.com/adamratzman/Problems
73
74I applied because I enjoy this server, respect the administration, and want to learn from programmers that have much more experience than I do. I am looking forward to working with you!