Skip to content

Commit 5d6f237

Browse files
authored
Addition of several questions
Adds a couple interesting questions relating to concurrency, architecture, exceptions, etc.
1 parent 50893cc commit 5d6f237

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

README.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,10 @@ It is also a good practice to annotate overridden methods with `@Override` to ma
374374

375375
- Singleton [Wikipedia](https://en.wikipedia.org/wiki/Singleton_pattern)
376376
A singleton is a class that can only be instantiated once. This singleton pattern restricts the instantiation of a class to one object. This is useful when exactly one object is needed to coordinate actions across the system. The concept is sometimes generalized to systems that operate more efficiently when only one object exists, or that restrict the instantiation to a certain number of objects.
377+
378+
- Monostate [Wikipedia](http://wiki.c2.com/?MonostatePattern)
379+
380+
- Fluent Interface Pattern [Wikipedia](https://martinfowler.com/bliki/FluentInterface.html)
377381

378382
- Structural patterns
379383
- Adapter [Wikipedia](https://en.wikipedia.org/wiki/Adapter_pattern?oldformat=true)
@@ -390,6 +394,10 @@ It is also a good practice to annotate overridden methods with `@Override` to ma
390394

391395
* `HashSet` vs `TreeSet`.
392396

397+
* `HashMap` vs `Set`
398+
399+
* `Stack` vs `Queue`
400+
393401
* Explain Generics in Java?
394402
- Generics were included in Java language to provide stronger type checks, by allowing the programmer to define, which classes can be used with other classes
395403
> In a nutshell, generics enable types (classes and interfaces) to be parameters when defining classes, interfaces and methods. Much like the more familiar formal parameters used in method declarations, type parameters provide a way for you to re-use the same code with different inputs. The difference is that the inputs to formal parameters are values, while the inputs to type parameters are types. ([Official Java Documentation](https://docs.oracle.com/javase/tutorial/java/generics/why.html))
@@ -545,10 +553,14 @@ It is also a good practice to annotate overridden methods with `@Override` to ma
545553

546554
* What is `volatile` modifier? [Jenkov](http://tutorials.jenkov.com/java-concurrency/volatile.html)
547555

556+
* The clasess in the atomic package expose a common set of methods: `get`, `set,`, `lazyset`, `compareAndSet`, and `weakCompareAndSet`. Please describe them.
557+
548558
#### Exceptions
549559

550560
* How does the `try{} catch{} finally{}` works? [Link](http://tutorials.jenkov.com/java-exception-handling/basic-try-catch-finally.html)
551561

562+
* What is the difference between a `Checked Exception` and an `Un-Checked Exception`?
563+
552564
#### Others
553565

554566
* What is serialization? How do you implement it?
@@ -1003,6 +1015,10 @@ It is also a good practice to annotate overridden methods with `@Override` to ma
10031015
10041016
* Describe MVC.
10051017
1018+
* Describe MVI
1019+
1020+
* Describe the repository pattern
1021+
10061022
* What is controller?
10071023
10081024
* Describe MVVM. [GitHub](https://github.com/MindorksOpenSource/android-mvvm-architecture)
@@ -1044,6 +1060,8 @@ It is also a good practice to annotate overridden methods with `@Override` to ma
10441060
10451061
* What is Robolectric? [Robolectric](http://robolectric.org/)
10461062
1063+
* What are the disadvantages of using Roboelectric?
1064+
10471065
* What is UI-Automator? [Developer Android](https://developer.android.com/training/testing/ui-testing/uiautomator-testing.html)
10481066
10491067
* Explain unit test.
@@ -1059,7 +1077,9 @@ It is also a good practice to annotate overridden methods with `@Override` to ma
10591077
10601078
### Others
10611079
1062-
* Describe how REST APIs work.
1080+
* Describe how REST APIs work. What is REST?
1081+
1082+
* Describe other forms of web API architecutre. [GraphQL] (https://medium.com/mindorks/what-is-graphql-and-using-it-on-android-ab8e493abdd7) [SOAP] (https://www.w3.org/TR/ws-arch/)
10631083
10641084
* Describe SQLite.
10651085

0 commit comments

Comments
 (0)