I have a bit of an interesting story. I started studying FCC back in May, and in the last 6 months I’ve been spending most all of my free time programming, managing to code some full-stack applications that I’m proud of to boost my confidence and my portfolio. I’ve been applying for jobs the last few months but haven’t gotten past the phone screen stage.
So, my question: I have about a week to prepare for my first ever in-person software engineering interview, in a programming language I have basically zero experience with! Any advice on the best way to go about preparing for this? I was going to spend lots of time studying algorithm/data structures, since those can apply to any language. Any tips or advice on Java that I should know going into this?
Thank you for any help you might have. Reading through these forms has provided invaluable help and support over the last few months, and I’m excited to see where my journey leads in the near future.
Just because they run a java/sql stack doesn’t necessarily mean that’s what you have to interview in. In general, companies will let you interview using whatever language you are most comfortable (unless they are looking for something specific, like a Java Tech Lead or something).
I second @protonimitate. Here’s a reddit topic that popped up in my mailbox this morning that might be helpful to you:
Best of luck!
Did they tell you the stack exactly?
The important Java basics are
Object-oriented concepts: The so-called 4 pillars, abstraction, Encapsulation, Inheritance, Polymorphism and how Java implements and uses them
Collections framework and Collection interface: Sets, List, and Queues, various different forms of implementation of these useful data structures and their sister interface Map.
Strongly Typed Language, Runs on a Virtual Machine, Built-in memory management
There are more, obviously, but these are probably the most basic and common things you should know about Java.
Don’t need to know the details yet, just be aware of these technologies and leverage what you know and sell them that you can apply the design and programming concepts of what you learned in JS.
btw just because their stack is in Java, does not mean you have to code in Java in a coding test. It is equally likely that they won’t interview you in depth in Java if you’ve made it clear that it is not your forte.
There is a lot that goes into Java and one week is not a lot of time, but you can do it
Most of the important stuff is here : https://www.tutorialspoint.com/java/
Pay close attention to the OOP In Java part where they talk about Polymorphism, Encapsulation, Interfaces, Overriding vs Overloading etc…
Know what the JVM is and why it’s important.
I’d go over type casting in Java as well.
Compile-time vs run-time errors
And touch on abstract classes and generics
Try to go over all of the keywords js doesn’t have like final, protected, private etc…
To top it all off, I’d try some basic to intermediate algorithms in Java just to get more comfortable with the language
All of this is amazing - thanks everybody for the tips. I’ll keep reading over things the next couple days and let you all know how it goes!
Do tell! How did it go?!!!
Hey, thanks for the interest!
The interview went much better than I expected since they didn’t ask any coding questions! They were purely situational - “what would you do if you ran into this problem; if you had questions but your teammates couldn’t help or were busy; etc”. I felt confident with my responses to these questions. But, I think they were a little concerned with my background; I’ve been getting code experience freelancing with a local non-profit, which means I’m coding alone, part-time, at home (not in an office environment). Ultimately they did not extend an offer, and while they didn’t state any reason, I’m guessing some other applicant knew Java better than me or had more experience coding in an office setting.
It’s been a bit of a bummer and I’m working up the energy to start applying to jobs again, but I’m trying to remind myself this was good experience and a great learning opportunity. Didn’t work out this time but I’m getting closer to the goal.
Thats really great that you are keeping a positive attitude…honestly, its already awesome that you made it to an interview… I suggest responding to thank them for the opportunity, and asking them if they have any feedback for you. Im finding its not uncommon to ask, worst thing that can happen is they dont respond, but if they do, you’ll be able to learn exactly what it was instead of trying to guess, and use that to improve on future interviews.
In a wild turn of events: While I didn’t get this job, I did get ANOTHER job where I’ll be working with Java! Haha. My first day on the job was today! Apparently my team works on an application with an Angular front-end that interacts with a full-stack Java application. I’m still not totally sure how this works, but it looks like I’ve got some time to figure it out. It’ll take me a few weeks to get used to their ecosystem in general, and then initially they’ll have me working on the GUI stuff while I learn the Java, which is great. Looks like these links will come in handy after all! Thanks again for everybody’s help!
That’s not an uncommon stack for enterprises. Compare to JS, Java has a lot of convention and handholding built in, there is a reason schools tend to use Java in entry level courses, so you’ll pick it up in no time. Good luck on the rest of your endeavors