I know its not possible to 'know' or 'learn' Java fully in a couple of days but I really need some help on this guys.

I have just graduated from university with a degree in computer science. The languages I would say I am 'proficient' at are: HTML/CSS/PHP.

I have a job interview on friday and I have to prepare a presentation and have 3 technical test. Its a junior web developer role and forgive my naivety but I didn't realise Java was a factor in web development as I have only done HTML/CSS and PHP at university.

Presentation details:
Duration 10 minutes.
Project: Talk about a project you have been involved with that you are proud of
- What was your role in the project?
- What technologies did you use?
- Did anything go wrong in the project and how did you solve it?

Does any one have any hints, tips anything they can draw on from experience to help me out?

Technical test details:
- 20 mins
Part 1: HTML/CSS
Part 2: SQL
Part 3: Java
Number 1 (HTML/CSS) I am fine on.
Number 2 (SQL) I can relate to my knowledge in MySQL, hopefully ill be alright.
Number 3 (Java) BIG WORRY. I have no experience with Java and have never worked with it before.

Should I tell them in advanced I have never worked with it before and that my strength is PHP which hopefully can be applied in the job and I will pick it up fairly quickly, or do it simply learn as much as I can in a couple of days and do my best.

Thanks for any help guys

  • For the presentation part, did you do any group projects in university? If so, talk about that. If not, then did you do any projects outside of university? – thedaian Jul 6 '11 at 13:57
  • univeristy don;t teach oop with java/c#/c++ anymore ? – NimChimpsky Mar 11 '14 at 11:04

I think you should just be honest with them. Java is pretty complex, currently what i am learning for college. Even if you did learn some of Java within the next few days, it would not even be close to carry you through if you got the job then what, you get fired for giving false information to them. Just say hey, I actually do not know Java but I am a fast learner. You never know, they may be willing to work with you.

| improve this answer | |
  • 6
    +1 - Just be honest. You can't learn enough to fool them in 2 weeks never mind 2 days. Finding out a candidate has been dishonest about their experience is an instant rejection, no exception, and be in no doubt, they will see through any attempt to blag them. If you're honest then having no Java experience may not be a problem for a junior/graduate role if they like you and think you'll be able to learn on the job. – Qwerky Jul 6 '11 at 13:13
  • But.. if he was a C++ expert, grabbing JVM/javac sources and reading into some in-depth mail-list debates would give him a decent chance to pass through almost any junior-level language questions they will be asking (not library ones, of course!). Oh, just found the same suggestion from @Antonio2011a, and @crazy2be even says he did it (and passed the exam, not even an interview), so.. – mlvljr Jul 8 '11 at 9:51

You can get some immediate experience by having first a look at the core part of Java - which you will most likely use regardless of what you will do - where the Java Tutorial - http://download.oracle.com/javase/tutorial/ - has a section named "Trails Covering The Basics" (skip the Swing and Deployment ones, you need to concentrate on JDBC).

Go through that, do the exercises. The single most important thing you need to understand which is different from PHP is the classpath concept. This is where the dragons hide.

When you feel comfortable with simple Java programs, then look at JDBC. The Java Tutorial trail on JDBC is at http://download.oracle.com/javase/tutorial/jdbc/. Note that you will need a Type 4 (important) MySQL driver in your classpath(!) and it has been ten years since I worked with MySQL so I do not know which one to choose. But you will need one.

Then make simple programs using SELECT and UPDATE and I believe you have enough to 1) fill your time to the interview and 2) make a convincing case that you can learn new technologies very fast.

EDIT: Do not try to give the impression that you know Java well. Instead be honest, say you read up on this for this interview from scratch, and how you did it. Personally I would consider the ability to quickly pick up a new technology very desirable in a new candidate.

Good luck.

| improve this answer | |

if you lie about your knowledge, either they find out and definitely you're out; or they buy it and then will find out later, and it would be much worse.

anyway, this would let you dabble in Java in just a few weeks: Thinking in Java

| improve this answer | |

"... forgive my naivety but I didn't realise Java was a factor in web development as I have only done HTML/CSS and PHP at university."

No need to forgive naivety, as you learned what your school taught. BTW, any language can be used in one way or another in web development; some of the more popular ones are PHP, Python, Perl, and Java, but they certainly aren't the only ones.

"Presentation details: ... Does any one have any hints, tips anything they can draw on from experience to help me out?"

Somehow I've managed to escape interviews in which I was asked to do a prepared presentation about a previous project. However, talking about your current job is a pretty standard thing to do in an interview, so I've done that quite a bit. My recommendation would be to speak about the basics of the project and what you did. Since you know a presentation is expected, put together a few slides (Powerpoint or similar - yeah, I know) covering a few highlights - no more than 1 slide per minute, and limit the number of bullet points per slide to 6 or less. The key is to keep the slides simple and speak naturally - just reading the slides puts people to sleep. Oh, and admit you're nervous, that usually elicits some sympathy and understanding from the listeners.

"Should I tell them in advanced I have never worked with it before and that my strength is PHP which hopefully can be applied in the job and I will pick it up fairly quickly, or do it simply learn as much as I can in a couple of days and do my best."

This isn't an exclusive or type of thing, you can do both. Study up for the next couple days as best you can AND be honest when you go for the interview/test. As others have said, the Java tutorials are a good place to start. I've heard good things about @Javier's recommendation, Thinking In Java, but haven't read it myself. If you can get a copy of Head First Java quickly enough, it should help. At the risk of seeming self-serving, see this question on books for learning Java.

| improve this answer | |
  • honestly a prepared presentation about you previous employer sounds a little fishy to me, I always talk about my previous experience (usually current employer at the time) but its always kind of assumed to be "off the record", so to speak, especially since I'm usually under some sort of NDA and I probably say things sometimes that go into more detail than I'm supposed to but that I feel is necessary to convey my experience – programmx10 Jul 8 '11 at 1:59
  • @programmx10: Not sure if your comment is aimed at my response or the nature of the potential employer asking for a presentation ... Anyway, I was addressing the OP's request for help about a prepared presentation. As for doing a prepared presentation as part of the hiring process, I have heard of it, and the request was for a project, which could be work, but also school, personal, or open source. – GreenMatt Jul 8 '11 at 13:28

Don't try lying about having Java experience when you don't as it will quickly become apparent. I've been working with Java enough now to have used it to build a web application with it professionally (for my employer) but questions I was being asked in a recent job interview were still stumping me as it was areas of Java I have not yet had experience with. If you have no real Java experience than even basic questions will trip you up and they will realize you are lying, such as if you say you have used Java for web development they are immediately going to most likely ask which framework(s) you have used and you should be able to talk about these and how you used them. Also, having come from PHP originally (a while back), Java is more complex and structured and you have to get used to thinking in terms of it which will take a little while.

Honestly, I think your best bet is to start reading the books as others have suggested but just be honest. Say that you haven't used Java much but you have a huge interest in learning it and are proactively learning on your own, they may like your enthusiasm and decide you would be a good fit.

Edit: The main thing to convey is that you WANT to work in Java and understand the benefits of using it vs PHP, you don't want them to think that you are in love with using PHP, so to speak, to where you won't be willing to jump full force into Java. I would recommend searching on articles about "advantages of Java", "static vs dynamic languages", etc so you can get some good talking points about advantages of a platform like Java to tell them in the interview to show your understanding.

| improve this answer | |

Well, in my opinion you probably can learn the basics of Java in just a few days. But I would be honest and admit you haven't used it much.

I quite like the book "Core Java". If you skip material on things like Swing, you should be able to cover the basics quite quickly.

Also are you saying you only studied the languages CSS, HTML and PHP? Or those were the only languages you studied that were related to web development? If you've studied C++ for example, I would think Java would come pretty easily.

Also I'm interested in knowing what top 6 computer science university you attended? Their curriculum seems somewhat unique.

| improve this answer | |

I did it.

I learned Java in a few days- not for a job interview, but for an AP Computer Science exam. I found it easy, but I had had significant prior experience with C++ and object-oriented principles of design. After C++, Java is a cakewalk.

That being said, if you primarily only know php, Java might be a bit harder to learn. I would suggest familarizing yourself with the syntax (pretty easy if you're used to C-style languages like php, although there is a stricter type system), reading about the common (Java) programming errors, and maybe even writing a bit of code to familiarize yourself with the basic concepts and ensure that you understand them correctly.

Finally, be honest. Tell the interviewer that you have no previous experience in Java, but explain what you have learned over the past couple of days in preparation for the interview. If nothing else, you'll impress them with your dedication to learning and your preparation for the interview.

Oh, and good luck!

| improve this answer | |
  • You wouldn't be able to learn it in a few days if you didn't have a C++ background though. And still you would only know the most basic things. – user29079 Jul 8 '11 at 8:37

I gave +1 to the answers that say don't try to lie or snow-job the interviewers. It won't work, and it will insult the employer.

Don't apologize, but do be honest that you haven't done projects in Java. Then follow up with a real-life story of an experience you had (even if it was for a college class project) when you learned some other language or toolkit quickly "on the job".

For example, you learned PHP. Talk about how you learned it, what you studied, how you added to the class content by trying things on your own, reading books / blogs / StackOverflow to expand your knowledge.

Experience that shows you are smart and get things done quickly can be even more valuable than memorizing Java classes. That link is to a book by the same title, it could be worthwhile for you to read, to get some perspective on what employers value.

If all else fails, be prepared to take a lesser job if you're right out of college. Technical support, QA/testing, or IT can be ways to enter the field. Once you're in, there will be opportunities to learn on the job, and if you show the managers around you that you're energetic and smart, you can earn promotions to jobs that are more interesting, more prestigious, and better paid.

You could also re-enter college and get a Master's Degree in CS, and take the time to learn more about the technologies that are in demand. I don't mean to be critical, but the fact that you didn't know Java is used in web development tells me that you haven't studied much about the software developer job market.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.