1. Recursion isnt the answer to everything.
Even more important with advanced Java programming questions istalking your way through the possible solution before coding.
The CASE_INSENSITIVE isnt an absolute requirement, but does simplify the solution a little. Also, if asked to write the pattern, the compile(), matcher(), and find() calls arent required either, but helpto demonstrate your knowledge of the API to actually use the regular expression.
If your interviewer gives you a hint, dont miss it, but more importantly dont ignore it. Theyre trying to push you in the right direction to an answer.
I was once asked the latter question and I didnt even mention regular expressions on my resume.
Top 12 Best Questions to Ask at the End of the Job Interview
Three things worth pointing out here:
If asked to code something like a binary search, dont just assume an array of numbers.
Here are a couple sample questions and answers of what to expect at this level.
The easiest way to do this is to push each beginning paran onto a stack, then when you get to a closing paran, pop an item off the stack. If the parens match (( and ) or and ) continue.
Given the recent addition of new top level domains, that 6 is now too short. Good thing to point out if given that code as a possible solution.
First,could you code this off the top of your head?Second,do any lines look different than your knowledge of the algorithm? What does the 1 do? Thats basically a divide by two operation.
Questions About Computer Science Fundamentals
You will be expected to know computer science fundamentals.How much of that depends on your level. These computer science questions may actually be easier for the more beginning developer, as someone straight out of college might have just had a course on algorithms perhaps. Think data structures and performance-related here.
As with any job interview,the technical questions are only part of the fun.You will also be asked fit and resume questionsto determine if youre a good match for the company and dig deeper into your job experience.
HOW TO ANSWER: What Are Your Strengths?
While you might feel great that you already know the answer and can do it right (or better) the second time around, the interviewers do talk to each other and will mark you down if you dont let them know about the duplicity of questions. They should know better but it sometimes happens.You dont want to be rejected because you didnt open your mouth about it.
Hiring experts agree thatJava is one of the most in-demand tech skills. But how do you get one of those hot jobs? First you have to artfully ace those pesky Java interview questions.
Answering Behavioral Interview Questions: Leadership
This is a little more complicated than the first, but still a coding problem a junior person should be able to code.
Describe what all the different parts of the main() method declaration mean.
The best way to prepare for the more advanced interviewquestions for a particular company is to actually use Google to lookup what other people are reporting they were asked. This works great for larger companies.
We askedJohn Zukowski, an experienced Java pro who has also interviewed and hired many developers, to provide his expert advice on how to prepare for the most common Java interview questions.
Get our free eBook guide of sample answers and expert interview advice emailed to you now
The more experienced you are,the more you will be expected to know how to code AND how to read code. Expect to have to go to a white board and solve a problem. Get comfortable doing it.
Dont just code a brute force solution.More than likely, that isnt what the questioner is looking for. Also, once completed, the interviewer could just move on to the next question. If not, youll be taking up valuable time correcting to the right solution after, and more importantly, you might do it wrong.
When coding the solution to a problem on a white board in a job interview, talk through your solution. It may seem obvious, but dont just code the whole solution silently and ask if the questioner has any questions when you are done.
private static int binarySearch0(int a, int fromIndex, int toIndex, int key) int low = fromIndex; int high = toIndex – 1; while (low
It might seem simple, but could you code binary search in the Java programming language?
She is an adjunct professor at New York University and an instructor at the American Management Association. Continue reading.
Returning to that email regex expression mentioned earlier, heres a simple solution that isnt fully RFC822 compliant but would probably suffice for the purposes of an interview.
Next,describe what each of public, static, void, main, String, and args does.
c) void means the method doesnt return anything
d) main is just the predefined method name for how to start a Java program
2. The main() method declaration here demonstrates lots of test cases.Dont just code a solution. Walk through the solution with at least one if not more test cases.
First, the Character bit demonstrates at least some knowledge of generics. Secondly, the declaration shows youve kept up with the language updates and know you dont have to do Character again.Little things like that are things that interviewers are looking for.
When responding to coding problems, there are a few guidelines to follow. Some may seem obvious, but all are worth reminding.
HOW TO ANSWER: Why Should We Hire You?
key) high = mid – 1; else return mid; // key found return -(low + 1); // key not found.
For some reason, many of the more advanced questions are game related.Dont be surprised if you have to code the implementation of some game, or a part thereof.
The former is good to see how each person does their job. There should be some similarities in the answers, but dont expect them to be 100% the same. The latter is still a good question, but not one to ask to each interviewer. At most two, to see if they report the same thing.
For instance, with a company like Google itself, you might run across a resource they provide:
The obvious set of questions youll be asked test your knowledge of the Java API. The range of questions you will be asked here is enormous. Fresh out of school, you might be asked about the different keywords in Java. Been around the block a few times, then write a regular expression that describes the format of an email address.
b) static means you dont need an instance of the class to call the method
Interviewing for a Java-related job can be difficult.You might be going for a typical software development job, but the range of questions you can face makes the SATs seem easy.
A final thingto mention that might seem obvious, but is rarely if ever brought up during the interview: If an interviewer asks you to do the same coding problem that you addressed with an earlier interviewer,tell them.
With each release of the Java platform, the API set grows, thus, the range of potential Java interview questions grows regularly. List Java on your resume, and you can get asked a question on anything from the first to the last release. Add in the Enterprise and Micro Edition, and the API-related questions grow even further.
3. The StackCharacter stack = new Stack(); line requires special mention.
On the more advanced side, you shouldexpect pattern-related questions.These would range from describe the Singleton design pattern and how you would use it, to where in Java is the Singleton design pattern used, to code the Singleton design pattern, and finally what issues serialization can bring up with the Singleton design pattern. Observer, Factory, Decorator patterns are some others to be aware of that are found in Java.
Be prepared toask at least some questions of the interviewer.Try not to rely on theobvious questionslike how long theyve been at the company and dont go with a presumptuous question like, When can I start?
a) public means that the method is visible everywhere
Do your best tolearn something about the company and position beforehand.They shouldnt be the only people asking questions in the interview. It may seem obvious, but make sure youll be agood fit with them, too. Are you more of a blue jeans and t-shirt person?
The most common set of questionsyoull face test your knowledge of computer science. Why do you pick one data structure over another? How do you code a particular algorithm?
HOW TO ANSWER: Why Did You Leave Your Last Job?
HOW TO ANSWER: Tell Me About Yourself
import java.util.Stack; public class Match public static boolean doParensMatch(String str) Stack
Can you come up with something comparable?If given that solution, could you explain what the different elements of the pattern do? What do the ^, $, +, and 2,6 indicate? (start of line/string, end of line/string, at least once, and at least 2 but not more than 6 times, respectively).
Need Answers to the Top 10 Interview Questions?
How to Answer What Is Your Greatest Weakness?
The first thing you should dohere is write the main() method declaration on the whiteboard:
You wont automatically fail with a line like Stack stack = new Stack() and casting when you get a character off the stack,but the more up to date you are with your code, the better youll look.
Answering Behavioral Interview Questions: Handling Conflict
I would say doing / 2 would suffice there. The return value of -(low +1) gives the caller the insert position where to insert the new key, if they wanted to do that task.
Dont assume after you have a successful solution you are done with that problem.
When asked more advanced questions, the solution doesnt stop when the question is answered. You need to expect follow-up questions, like why did you do the operation in a particular way, what is the performance of your solution, and how can you improve it.
If not, there is a mismatch. If the pop is ever empty or the stack isnt empty at the end, there is a mismatch. Here is one solution that relies on the java.util.Stack class.
Its okay to ask the same question of all interviewers if you think youll get a different answer from each. A better question here might be What is a typical workday like? A bad question here is How does your company/team do testing?
If youre unsure of a question, ask for clarification, dont just answer what you think the interviewer might be looking for.
Pattern regexPattern = pile(^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]2,6$, Pattern.CASE_INSENSITIVE); Matcher matcher = regexPattern.matcher(emailStr); boolean found = matcher.find();
Given a line of text, verify that the beginning and ending parenthesis match up.
Another useful video for acing the technical interview in general:
How to Answer Top Java Interview Questions
HOW TO ANSWER: Where Do You See Yourself in Five Years?
As your skill level increases,the questions you receive get more complicated. That doesnt excuse you from knowing the introductory questions, too, if you are more experienced.
The more specific a technology, like Hibernate, the higher the likelihood of getting asked a question about it, if it is a technology the company is interested in your specific experience. Dont put technologies onyour resumethat you think might help with automated keyword searches, but your exposure to the technologies is so sparse or non-existent that you cant answer a basic technical question about the technology.
With this article, you will be better prepared to know thetypes of questionsthat you might run across, and more importantly, how to answer the questions,no matter what they are.
Here is the implementation of the algorithm from the java.util.Arrays class for an int array source:
While that might be more casual than most environments, you wont do well with a company wearing suits and ties every day. Do you prefer to sit in your cube coding with your headphones on? You wont do well with a company that requires lots of interacting with customers.If you dont ask, youll never know.
Ask your interviewer, -1 might suffice to say something isnt there. The -(low + 1) bit could be a great follow-on question from the interviewer after you get the coded algorithm properly.
f) args is the name of the parameter to the method. Any name will do here. There is no hard and fast requirement that the parameter be called args.
Pamela Skillings is co-founder of Big Interview. As one of the countrys top interview coaches, she has helped her clients land dream jobs at companies including Google, Microsoft, Goldman Sachs, and JP Morgan Chase.
She also has more than 15 years of experience training and advising managers at organizations from American Express to the City of New York.
Whether youre freshout of schoolor someone who has been programming for a while, well prep you here for that next interview, as just knowing the API isnt all there is to the Java interview.
The best way to preparefor your interview starts with having a realistic resume. If you put on your resume that youve used JDBC or Security, you better be prepared for someone to ask you a question about those technologies.
e) String means the method accepts an array of strings as arguments to the method
It is probably sufficient to just verbalize what each means. But if you want to write each word down as you verbalize, it helps to get the point across.
HOW TO ANSWER: Why Do You Want to Work Here?
Some questions Ive been asked include finding words on a Boggle board, reporting which if any player won from a Tic-Tac-Toe board, and dealing several card game related questions.
As you get more experienced,you can expect more advanced types of coding problems. Not only will you be expected to code the solution, but youll be expected to explain your answer more eloquently.