Knock Knock Naukri !!

February 10, 2010

If you meet your Hari Sadu(HS) daily alive and kicking or you are convinced that those 4 years of engineering were a conspiracy as nothing taught there is actually applied or you are sure that the last economic recession was actually a hallucination crafted out by your nasty boss so that he/she doesn’t have to pay you appraisal for another year then i would like to tell you that all these are symptoms of Deadly J1C1(Job Change) virus, which immediately requires a  New office, more  hard cash and completely new HS.  So here by I help you to get the vaccination.

Switch directly means that it is time to study and open those books which have been abandoned ages before. Taking out time to study and prepare is not very easy as we usually drop that habit some here on the way and with job there is little time shortage also(yes that’s how our mind thinks and u know we might have time to catch that new movie or to check out that superb Upto 51% off sale:P ) That’s okay if you think like this no worries you are part of most.

So here by I am putting some of my observations( I have had few chances to see how the world looks like from the other side of table :) ) out of my own experiences and some of the inputs from my friends.

I would like to mention that this content is  mainly around the Java Background Interviews but some of the resources are generic and can be used at multiple places.

So here is a recommended war plan:

1) Core Java

This is first and foremost area that should be brushed up.

Most Important slices:  Collections,Threads and concurrent collections, Exceptions, Inheritance and Serialization.

These are the topics which usually form the core and if you are good at them consider half the battle won .

Once you are comfortable with these then next Strings, I/O,Regular expression can be covered.

2) The Bifurcation

Now comes the fork , there are basically two types of companies depending on which type of company you are aiming at the preparation approach should be customized.

2.1) Type 1 :

These companies judge mainly on the skills of first Core java and then Data structure. You might have to face some DS and non DS coding problems and come up with their solutions and their optimized solutions.
These companies check your cerebrum not only for computer science fundas but also analytical skills by posing challenging puzzle problems . Biggies( like Google)  will go for newer and really weird puzzles and they will rarely appear on the web because of NDA(Non Disclosure Agreement)  you are supposed to sign, but some companies a notch below them wont hesitate asking the standard puzzles which can be easily find on the web. So don get surprised if you see same puzzles again and again in diff companies. This much should be good enough if you are around 2-3 years of experience, but if you are more than that there are some more snags for you. You might have to face few of the design implementation problem which requires thorough understanding of design patterns. You might have to draw the class diagrams, write use cases or sequence diagrams for a given functionally. All in all ur design and coding skills need to be A-OK even if you don know the latest frilly- fancy stuff.

Summarizing the topics

  • Core Java
  • Data Structures
  • Programming/Coding Problems
  • Puzzles
  • Design patterns

2.2) Type 2:

Now comes the second type of companies, quite same as first ur Core Java needs to be deep and strong and then you also know the  whole surrounding package. Good Knowledge of JSP, Servlets , bits and pieces of EJB are required. You are expected to know one frame work at least the most famous ones are Spring (Super high in demand !!), Struts etc. Other than this you should be aware of any ORM tool (Hibernate and ibatis are most popular ones) .

These type of interviews usually don have data structures but can have traces of programming problems( usually easy ones) and puzzles.

Design patterns are very much required here also, but even if you are not able to solve the actual problem but do understand and can explain the need and use of pattern, should be good enough.

Summarizing the topics

  • Core Java
  • J2EE – JSP , Servlets, EJB
  • Frameworks – Spring, Struts.
  • ORM Tool – Hibernate
  • Coding Problems
  • Puzzles

Note: Type 1 companies are usually product based and Type 2 are Service based, but the content asked can vary depending upon the actual requirements and nature of job.

3) The Extras

Then there are some extras which can be asked depending upon the specific need.

  • SOAP/XML
  • WebServices
  • Version Control Tools
  • Build and Release Tools

These topics are not usually asked in detail unless you are appearing for a specific need, so even knowing the basics is fine.

4) The Domain

Domain is usually probed in product based companies, domain knowledge is even more important if you are appearing in the company same domain as urs.

5) The Last Project

Last but not the least your last project holds lot of importance, complete functionality of the project(don forget to read your Design docs), your roles and responsibilities, functionalists implemented independently would usually form a major chunk of the interview.

Here by are some excellent resources which will come handy while preparation:-

Resources

1) Core Java

I have seen that people while preparing for Java they prefer Java Certification books, the problem with the same is that coverage of the book is customized as per the needs of the Certification, which may not be applicable for interviews.

I find Sun Java documentation sufficing, the best part is extensive coverage, then up to date content and its Free  :) http://java.sun.com/docs/books/tutorial/index.html

Now comes the turn of a legend, One of finest book available in market about best programming practices is

Effective Java by Joshua Bloch

http://java.sun.com/docs/books/effective/index.html

I recommend the book because of its excellent content and superb depth, just go for it.

Other good books which might not be exactly for interviews, but definitely a good read are

Java Puzzlers by by Joshua Bloch, Neal Gafter

Better, Faster, Lighter Java by Justin Gehtland, Bruce A. Tate

2) Data Structures

I would suggest to first comprehend the basic concepts of DS ( as we dont use them regularly) and then steadily move towards actual problems .

One of the excellent resource to understand what and why of DS is

http://cslibrary.stanford.edu/

and now the actual resource

http://careercup.com/

I would like to add that this web site has perfect mix of questions , impeccably classified. You can get questions company wise Yahoo,Amazon, topic wise like Link list questions, Algorithms and Job title wise.

Also you can enroll for new questions of the day and u will get the questions directly in your mail box.

3) Coding Problems

3.1) http://careercup.com/ is the again the answer. The posted questions on this web site actually are a good mix of DS, non DS  problems.

3.2 ) http://www.premski.com/page_gen.php?puzzles is another good web site. Questions are little easier than careercup.com but good medley of various genre.

4) Puzzles

http://research.microsoft.com/en-us/um/people/leino/puzzles.html

http://www.ocf.berkeley.edu/~wwu/riddles/intro.shtml

5) Design Patterns

One of the issue that people usually face with Design pattern is How many are Enough , I suggest that first of all be completely comfortable with the ones you have used urself, then pick up few popular ones from diff categories.

Here are some of the crowd-pleasing ones

Creational Patterns

1) Factory

2) Abstract Factory

3) Builder

4) Singleton( This one is so simple and so popular !!)

Structural Patterns

1) Decorater

2) Adapter

3) Flyweight

Behavioral Patterns

1) Visitor

2) Template

3) Chain of responsibility

4) Observer

5) Strategy

Note: This list is completely out of my experiences and valuable inputs of friends.

Links:

http://en.wikipedia.org/wiki/Design_pattern_%28computer_science%29

Book:

Head first Design Patterns - by Kathy Sierra , O’Reilly Publication.

6) J2EE

Head First JSP and Servlets - By Kathy Sierra , Bert Bates , O’Reilly Publication.

Head first EJB – By Kathy Sierra , Bert Bates , O’Reilly Publication.

7) ORM Tools and Frameworks

Hibernate -  Professional Hibernate By Eric Pugh, Joseph D. Gradecki

Spring - Spring in Action by Craig Walls and Ryan Breidenbach

8) Other useful  resources which provides one stop solution are:

http://www.techinterviews.com

http://www.acetheinterview.com

http://placementsindia.blogspot.com

http://placementpapers.net

Useful Blogs:

http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html

Complete courses

MIT

http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm

IIT Mumbai

http://www.nptel.iitm.ac.in/courses.php?branch=Comp

These complete courses are really useful if you are looking beyond interviews and want to good grip on the subjects.

Finally, I would liked to footnote that mentioned resources are the ones which I came across and find them valuable. I am sure there would be plenty of other good resources available so amigos if you are aware of any of them  don forget to share with the us.

Let me know if the content is useful and or if any other details are required.

Wishing You all the Best , May Lady luck smiles upon You.

Love

P

Advertisement

8 Responses to “Knock Knock Naukri !!”

  1. Tarun Mittal Says:

    I am done with all sort of nuts… :P I would settle for Nutella this time… ;-) I mean not Peanuts, not doughnuts… but pure dark chocolate…. :D

  2. Heena Says:

    uhmmm hmmm…someone has written such a useful post and so am all gaga about it yaaa :) really really useful post and comes at the right time for me ;) no need to tell you why. your experience is shone through this post :) Way to go Preeti !!

    Now this is going to be my reference to deserve some doughnuts in my plate :) Although dark chocolate would be on the healthier side, I would take sides with the previous commentator :D

  3. Yours_truly Says:

    Phew!And you are only 2 posts old!
    That was a baggage full of information and looks like a lot of R&D and exploration went through it :)
    I would like to add 2 of my fav. sites on which u can do ur sh*t(I mean code) and also apply the things u learnt back in college days :)
    topcoder.com
    codechef.com
    Waiting for ur next post, blogging bard :)

    • Preeti Says:

      Thanks a lot ppl !! ur good words give lot of motivation .
      yes yours_truly u are very correct i would definitely add
      these 2 superb web sites. These web sites are i think provides first – class problems if u r preparing for A list companies(like Google ).
      Thanks a lot for sharing information.

  4. Raffi Says:

    Hi Preeti, Lot of information and resources… and it is also covering the basic aspect of blogging – Useful to someone out there. Good Blog post.

    Just my comment on Core java part – You need to cover the couple of main Java 5 features – Generics and Annotations. If you have not written @ – annotation so far either in your java code or in your twitter/blogger, you are out of date, just kidding. All the famous frameworks Hibernate , Spring are all heavily coded with the Annotations. Most of the people are moving away from the external configuration and adopting annotation based coding.

    • Preeti Says:

      Hey Raffi,
      First of all thanks a lot for dropping by, yes i agree generics and annotations are highly used today, bt as per my own exp(recently participated a bit in hiring) and feed back from ppl , these topics were usually not among the top on interviewer’s list. But yes i definitely agree these topics are very cool and must be covered, would update the post with the same.

      Thanks a lot for ur input again.
      Keep Dropping by :)

  5. ketan Says:

    Thanks for the wonderful post, its inspiring me and will help me lot. Thanks for it and ya you did a good job for positing stanford, berkley, MIT and IIT Links.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.