12 February 2015

Sorting Algorithms in Action

This is a nice visualization of the sorting algorithms and how they do with different sets of data.

11 February 2015

Agile, Short & Sweet - The Best Cheat Sheet on Agile

Are you hearing that? Everyone is going Agile? Do you want to get on-board fast? This is a really quick guide for you to follow and figure it out. Obviously it lacks so many things in it. It might not even touch the basics. However, if you claimed you know Agile and you don't, this is the best cheat sheet you can find out on the net.


9 February 2015

Interview Questions for an Intermediate Java Developer

Looking for real life interview questions for a Java Developer? These are the ones from the one I have conducted recently. The length of the interview was limited to an hour.

B = Beginner
I = Intermediate
A = Advanced

-Introducing him and what he has done + his experience

Technical questions:

OOP related questions
1-What are the OOP's main characteristic? (B)
1b-how do you support polymorphism in Java? (B)
1c-When do you use inheritance in Java (instead of using an interface)? (I)

JAVA related questions
2-What is Overriding and Overloading?
2b-and when do you recommend to use each?
3-What is a thread? (B)
3b-How would you create a thread in Java (3 ways you can do that) (I)
3c-Which one do you prefer to use for creating a thread (A)
4-What is the difference between a synchronized method and a synchronized block (A)
4b-which one do you suggest to use and why? (A)
5-What is an Iterator ? (I)
6-What is hashCode() and equals() methods ? (I)
6b-When do you override these functions and why?
7-Describe a particular shortcoming in Java you've encountered? and how did you resolve it? (Any Java Shortcoming?)
8-What is the meaning of Transient keyword and how is it used?

JEE related questions
10-What do you know about JSP?
11-What is a layered architecture?
12-What is MVC? Have you used any framework MVC in your past experience?
12b-Any experience in an MVC architecture? Please give us an example of your work.
13-Talk about different JEE framework you used and tell us their advantages and disadvantages? Which one do you prefer and why?
13b-What are the design patterns used in Spring? (Dependency injection)
13c-Dependency injections implementations? (By Method, By Construct ...)
14-Any experience with EJB? do you know the difference between stateless and stateful EJB?
15-What is SOA? Is it related to OOP?
15b-What is a web service?
15c-Have you experience with SOAP webserice? How about REST? Can they be used interchangeably?
16-What is JMS?
16b-What is the difference between queue and topic?
17-What is the difference between EAR, JAR and WAR file
18-What is a JavaBean?
18b-Difference between JavaBean and EJB?

DB related questions
20``- What is a primary key?
20'-What is FOREIGN KEY?
20- What is normalization?
21-What is E-R model?
22-What is Object Oriented model?
23-DDL and DML, what are they? (I)
24-What is difference between DELETE and TRUNCATE commands?
25-Define Join and explain different type of joins?

-OR Mapping related questions
31-What is Hibernate Framework? iBatis ? (what is OR)
32-What is Java Persistence API (JPA)?
33-What are the advantages of OR over JDBC?
34-iBatis ? xml customization and auto generation (A)

Continuous Integration
41-What is a source control? (have you any experience using that)
42-Why do you think we need a sourc control?
43-Maven vs Ant? Any experience?
44-Any experience with test suites? TestNG? JUnit? What are those? Any one you prefer?
45-What is continuous integration? Any experience with Jenkins? Continuous Integration Tools?
46-Experience with Bash? (Linux commands?)

Agile questions
51-What is your experience with Agile?
52-What are the main attributes of the Agile?
53-Can you name some of the methodologies under Agile? (scrum, extreme programming, kanban ...)
54-If something goes wrong in the development process who would you go to first? (the best answer is it depends)
55-Do we have different roles (such as QA, Developer) in an Agile team?

General Questions: (20 minutes)

what will he bring to this job and why this job is suited for him?
Why do you want to work for us?
what is he seeing himself in 5 years?
What are your major strengths?
What are your greatest weaknesses?
Tell me about a time that you failed at something and what you did afterwards.
Describe a time that you works on a team project. What was your relative position? Were you satisfied with your contribution? Could it have been better?
Why did you choose this field of work?
Tell me about a situation in which you had to resolve a conflict / failed.
What do you know about our team?
Do you have any questions for us?
Tell me about a project that you had either at work or school. Describe in detail how you managed it and what was the outcome?

Candidate's questions:

Any questions he might have for us?