views:

435

answers:

4

Hey guys.Tomorrow I have a phone interview with a good company for a Junior Software Engineer position. I have been out of the university with a bachelors for 3 months now, and am a bit rusty on my C++, as it has been a few semesters since I worked with it. I am currently reviewing it (working on pointers at the moment) to be prepared for tomorrow. Below is the description of the job. What would people recommend I brush up on the most to be prepared for the interview? What type of questions do you think the interviewer would ask that I should be sure to be prepared for? Thanks much. This would be huge for me.

Responsibilities

  • Willingness to accept new challenges and learn on the job in a fast paced environment
  • Opportunity to become heavily involved in all phases of the development cycle in a very short time period
  • You will gain hands on experience from day one while working in conjunction with other developers to ensure a high level of quality
  • Through quality testing and real world feedback, continuously improve the software*s functionality and performance

Skill Requirements

  • Bachelor*s degree required in Computer Science/Engineering, or any science/engineering field with relevant programming knowledge
  • Experience programming in C/C++
  • Ability and desire to learn quickly and adapt to new technologies
  • Familiar with polymorphism, memory allocation/de-allocation, and common data structures
  • C# experience is a plus
  • Network knowledge is a plus
  • Knowledge of financial terms is a plus
+10  A: 

If your C++ experience is a few university courses and that's a while ago, and if you need to brush up on pointers again, then that means you used to know a few things about C++, but need to learn a lot before you'll be a yearling.
If I were you, I would be open about this. Then it comes down to how much you can convince them that you are a quick learner.

Of course, they might not want to hire someone who's not up to it immediately.

sbi
Have to agree with this. C++ is way too big a language to re-learn in a day. They could ask you literally anything ("what's a virtual destructor?", "what's private inheritance?", "what's virtual inheritance?", "what's a copy constructor?", "what's the difference between `std::vector` and `std::list`?"). The list is endless.
Oli Charlesworth
If you need to "brush up on pointers", than you are a beginner and should thus start at the beginning.
Ed Swangren
A: 

24 hours is sort of a short notice to start preparing for a technical interview.

Read about what you feel you need the most but I'd suggest to drop it. It's always a good advice to take some easy time before an interview.

Behave naturally and honestly. When they ask you about the things you don't know try to think of the solution but if it doesn't come to you just outline your current ideas and admit you don't know/remember it. It's an important personal quality in our job to be able to admit you don't know everything and ask/look for information instead of persisting in your ignorance.

Developer Art
+2  A: 

Just admit that you aren't experienced with C++ or C, but that you can handle it well and you've been exposed to it before. Emphasize examples in your past where you have accomplished something that took persistence and learning a new skill/field within a reasonable amount of time. I think most employers don't expect university graduates to be very experienced programmers, just simply fresh new minds. Use that to your advantage.

ldog
A: 

A long time ago, when I was a fifth grader, my math teacher always said that the day before a test all the students should go to the cinema with the significant other instead of learning, because learning should be finished at least two days before a test, because our brain works on a free day in the background and, without observing, we'll have a deeper knowledge at a test. I've always followed this advice and this was very useful at university. I didn't learn at all before most of my exams because whenever I was at the university, I've payed attention to the teacher, had a lot of time to digest the information and, as a result I didn't have to learn before the exam.

A very interesting fact is that I didn't pass at first try in C++ at the university, because it was the third exam in 3 days and I started to sleep at the time of the exam because of exhaustion (I was lazy in that semester and did all the labor projects in the last day and read a book of 400 pages before the exam). I had fundamental, deep knowledge for a student in C++, but I failed because I didn't pay attention to the most important aspect of the exam: To be there 100% and try to prove that you're the best.

Before the second exam occasion I've refreshed my knowledge in C++ with 2 days before the exam, relaxed the day before and had an excellent result.

It's very sad that you're in such a desperate moment, but look at the bright side: at least you've learnt that you need time to relax before an interview and the case is not lost yet. Let's see the battlefield:

  • you have worked in C++ before (probably you still have some memories)

  • you've forgot a lot of things

  • you have very little time

  • the interview will be on phone (!)

What can you expect:

  • simple questions (asking about definitions)

  • testing your insight

  • hardcore questions and with so little time, you can only answer these if you know some basic information in C++ and can combine them to find the answer for the question

If I were you, my plan would be the following:

1.) Look at all the definitions and memorize the most important definitions (like the definition of a pointer, reference, method, class, object, inheritance, interface, and so on). Write down all the definitions into a file in your computer

2.) Look at some source codes and understand them. Write them into the same file

3.) Sleep a lot

4.) At the time of the interview open the file and use the gathered information when needed. Whenever they ask you about something you absolutely don't know, just search for the answer on the internet. They might observe that you're using a computer, but that's not a problem in my opinion, because if you are working on a task, any task, you might encounter a problem you don't know how to solve. If this occurs, you just google for the answer and based on your findings you can solve your problem. Just open a few books and sites to be able to search quickly.

If it's explicitly said that you are not allowed to use computers during the interview, then you shouldn't listen to my suggestion, but if not, then you aren't braking any law by doing this. At least if I'd be the interviewer, I'd value your action of using a computer during the interview, because I'd think that you're couragious and inventive, but people are very different and some people wouldn't be happy about this, they want you to know everything from memory (but that only comes after years of experience, not after a learning session. The information learnt in a learning session will be forgotten in five years, but if you worked for years using something, you'll remember that)

Good luck, Lajos Arpad.

Lajos Arpad
If I were an interviewer, I would rather hire a candidate who understands what pointers and references are and how to use them than one who has memorised their definitions to repeat back to me.Are you serious about looking stuff up on the internet during the interview??
Peter
This is a phone interview and the guy doesn't have time. He can't understand the language in 24 hours. If we want to actually help him, we must find a solution to this problem.
Lajos Arpad