##Dev Questions
- Describe a few design patterns (besides factory or singleton).
- Explain Inversion of Control and dependency injection.
- Why are interfaces important?
- Why are coding standards/conventions important?
- How do YOU refactor code?
- Explain Single Responsibility Principle and why it is important?
- What is the biggest mistake you have ever made coding?
- How does Mercurial differ from Subversion?
- Explain use of mocks/stubs in unit testing?
- What is a lambda function/closure?
- What are the main parts of a HTTP request?
- What is a stack?
- What is a queue?
- What is a list?
- What is a tree?
- What is (connection/object) pooling?
- Given two arrays of INTEGERS, a[]=[1,2,3,4,5] and b[]=[2,3,1,0,5]: How would you find which number is not present in the second array? How would you find the largest number of both arrays? How would you combine both arrays?
- What is the JVM? How is it used? (Java)
- What is over-riding? Over-loading? (Java)
- How does an abstract class differ from an interface? (Java)
- What are you favorite language features of Java, C#?
- What is a pointer?
Explain how the following snippet of code works(JavaScript):
function f (x) {
return function (y) {
return x + y;
};
}
var a = f(5);
var b = a(3);
alert(b);
What is the value of 'b'?
Some languages cache integers (example below), why do you think they do this?
Integer a = 1000, b = 1000;
System.out.println(a == b); // false
Integer c = 100, d = 100;
System.out.println(c == d); // true
What are other types that could be useful to cache?
##DB Questions
- Explain CAP theorem.
- How does a RDBMS differ from NOSQL/document store?
- How would you explain the concept of a database and a schema to HR?
- Explain different join clauses: right, left, full, cross.
- Explain an index and its purpose.