Interviews Questions by Career
Interviews Questions by Company
Interviews Questions by Topic
Get Started
Interview Coach 1:1
Gain the confidence you need by asking our professionals any interview scenario, question, or answer you are unsure about.
Let Us Review Your Answers
Our interviewing professionals will gladly review and revise any answer you send us. Allowing you to craft perfect responses for your next job interview.
Interview Questions by Topic
Interview Questions by Career
Interview Questions by Company

Computer Science Interview
Questions

25 Questions and Answers by William Swansen
Updated November 4th, 2020 | William Swansen is an author, job search strategist and career advisor who assists individuals from all over the world.
Job Interviews     Careers     Computer Science    

Question 1 of 25

What is multiple inheritance? Can you discuss its advantages and disadvantages?

How to Answer
Example Answer
1000s of Interview Questions
Win your next job by practicing from our question bank. We have thousands of questions and answers created by interview experts.
Suggested
Interview Q&As
Explore expert tips and resources to be more confident in your next interview.
Behavioral
Common
Phone
Tough
Leadership
All Interview Topics
All Career Q&As

Interview Questions

1.

What is multiple inheritance? Can you discuss its advantages and disadvantages?

This is a challenging and complex technical question. As the interview progresses, the questions will become more difficult and detailed. This indicates that the hiring manager is gaining confidence in your qualifications and is willing to explore your background in more depth. Continue to answer these questions just as you did the easier ones, briefly and to the point. Also, anticipate follow-up questions.

William's Answer

"Multiple inheritances refer to classes. Specifically, a situation where one of the classes inherits arguments from multiple super-classes. The advantage is that this type of class can inherit more than one class's functionality and, therefore, can be more flexible. The disadvantage is that using more than one super-class may create arguments that conflict with each other due to them both using the same descriptors."

2.

Why do you want to work for our software company?

This is a typical question you will likely receive early in the interview. By the time you've been invited to the interview, the organization has already verified your qualifications for the position. The interview is meant to confirm these qualifications and discover how well you will fit into their company. Organizations prefer people who are passionate about both the work they do and the companies for which they work. Your answer to this should support both of these.

William's Answer

"When searching for opportunities where I could apply my computer science background, your company kept rising to the top of the list. I admire the work you do and your leadership in this industry. I have spoken to several current and former employees. They are very enthusiastic about the work environment, the flexibility they have to explore new ideas, and the collaborative and diverse work culture your organization promotes. I would be honored to become part of your company and to contribute to your ongoing success."

3.

Tell me about something you are proud of regarding creating a new function or model in your coding.

This question is asking you to brag about something. Most people are very humble and find it difficult to promote themselves or talk about their significant achievements. You need to overcome this tendency during an interview. There's nobody else in the room who will speak on your behalf, so you have to do it. When answering this question, you should identify a function or model in the coding that aligns with the role for which you are interviewing. The research you conduct before the interview will help you accomplish this.

William's Answer

"The function I am most proud of in my coding is a voice recognition module in a network management dashboard. It allows the systems administrators to make requests for information in the dashboard hands-free. This comes in handy when they are away from the computer terminal or are actively working on the network and have tools or measuring equipment in their hands."

4.

Describe what a chipset is.

Throughout an interview for a position in the field of computer science, you will be asked a great many technical questions. Remember that technical questions ask you to define a term, process, or concept and discuss how it is used in your work. Technical questions can range from very basic to extremely difficult. Typically, an interviewer will start with basic questions that are easy to answer. As the interview progresses, the subjects of the questions will become more difficult and specific. Continue to answer the questions briefly and to the point.

William's Answer

"The chipset is a collection of integrated circuits used to help the computer communicate with its various components. Chipsets are individual processers that perform specific functions. These include the CPU, a graphics chip, memory, and other chips that control other devices that interface with a computer. Chipsets can control items such as keyboards and mice, USB drives, and audio input and output devices."

5.

What would your goals be as a computer scientist working for our company?

Hiring managers are looking for candidates who are both qualified for the job and willing to take initiative. When preparing for an interview, you should understand the company's business objectives and challenges. You should then formulate a plan to resolve these and be ready to discuss it during the interview. The interviewer will not fault you if your plan is not perfect or even something they are thinking about. The point is to have a plan and be able to communicate it effectively.

William's Answer

"Based on the research I've done, I noted that your company has been challenged with a shrinking customer base and lower demand for your products. One reason behind this is that you may not have a clear understanding of your customer preferences or the type of products they are planning to purchase. If hired as a computer scientist, I propose a revamping of your customer resource management system so that your salesforce can effectively interface with the customers. They could recommend new products that would align with the customer's needs, discover opportunities for product upgrades, and recommend products related to those they had already purchased. This would help you with customer retention as well as increase your revenues."

6.

Please describe the difference between C and C++ and in which language you prefer to code.

This is a hybrid technical and operational question. It starts by asking you to discuss two types of programming languages and then asks which one you use in your work. Interviewers can create any type of question they want to while attempting to collect the information they need to make a hiring decision. There are no hard and fast rules for interview questions. However, identifying the types of questions will help you understand what the interviewer is seeking to learn and how you can format your response to their question.

William's Answer

"C is based on a very structured programming protocol, while C++ is an object-oriented programming language. Since C++ is easier to use and more flexible, I prefer programming in this language. Fortunately, code written in C can be recompiled to work with C++ programs."

7.

What are the most popular operating systems, and how experienced are you at working with them?

Even though you may only use one computer operating system in your work as a computer scientist, you should be familiar with all of the operating systems available in the industry. This will demonstrate your adaptability and your ability to move between operating systems as required. Organizations will continually adopt new technologies that better meet their computing needs. These can include new processers, operating systems, and programming languages. Being able to switch between these will increase your value as a computer scientist and help you advance your career in the field.

William's Answer

"The most popular operating systems in today's IT industry include Microsoft Windows, OSX, and Linux. I've worked with each of these in previous positions and am very familiar with all of them. I also know how to recompile code so that it can work with the different operating systems. I've done a lot of work adapting internal programs in order for them to have a similar look and feel despite the individual operating systems' nuances. I have also created reactive applications that work on both desktop and laptop computers and that also adapt to the interfaces of mobile devices."

8.

Please discuss default constructors and conversion constructors.

This is a technical question which requires that you talk about two tools used in your profession. Technical questions are best answered directly and succinctly. You should be prepared for follow-up questions. The best way to prepare for an interview that involves technical questions is to review the terms, processes, and operations used in your profession before the interview. It is also good to research the company to understand the technology that it uses to be prepared to answer questions about it.

William's Answer

"A default constructor will either have no arguments or, if it does have arguments, they will be the default values. On the other hand, a conversion constructor can accept an argument that is different from the default. It uses the argument to create conversion rules for a class."

9.

Tell me about a time when you did something completely different from the plan. Why did you go that route?

This is a behavioral question. Behavioral questions ask you to tell a story about an incident in the past and how you reacted. Interviewers will ask behavioral questions to gauge how you will react to similar situations in the future. Behavioral questions are best answered using the STAR framework. You state the Situation, describe the Task you had to complete, talk about the Actions you took, and then discuss the Results you achieved.

William's Answer

"In my last job, I was asked to help design and implement a new customer resource management system. Management recommended we work with the premier vendor in this space and expected us to complete the project within three weeks. I was aware of a new product that had come to the market and took a chance with it. We were able to design and implement the CRM within two weeks, and the features and performance exceeded the specifications with which we were originally working. Management initially reacted negatively when I had not selecting their vendor. However, after viewing the system and seeing it perform, they were happy with the results."

10.

How do you stay current on new programming updates and techniques?

The computer industry moves at a rapid pace. Updates occur daily, and staying on top of them is a real challenge. You should have a specific plan to keep yourself abreast of any changes in the market and be able to describe this to the interviewer.

William's Answer

"One of the things I pride myself on is being current on the developments occurring in the programming space. I do this by taking time out of my day to read industry publications and follow the most popular bloggers. I also attend regular seminars, user group meetings, and other industry events, and I go to national conventions at least twice a year. Additionally, I spend a lot of time with hardware and software vendors as well as my peers in the industry, discussing what is new on the market."

11.

Have you come across a problem that you could not solve? How did you handle the problem?

Your initial reaction to this question might be to state that you have never come across a problem you couldn't solve. However, this would make you unbelievably unique. Everyone has encountered a situation they couldn't resolve, at least by themselves. Being able to describe a problem, including how you came to solve it, will demonstrate humility, honesty, and innovation. This is the type of question you should anticipate, so have an example ready.

William's Answer

"It is rare, but I do occasionally come across a problem that I can't solve by myself. A good example of this was a recent project in which we were updating our network infrastructure. One router within the network wasn't responding, and my team and I could not identify it. We sought assistance from the network support team that had an analytics tool we were not familiar with. In a matter of minutes, they had identified and repaired the misbehaving router. When I encounter difficult situations, I don't hesitate to seek outside assistance from people who are better qualified to handle a specific issue than I am."

12.

What programming languages do you prefer to work with? Why?

This is an example of an operational question. Operational questions help the interviewer understand how you go about doing your job. While interviewing for a role as a computer scientist, you can expect a wide range of question types, including behavioral, situational, technical, and operational. Operational questions are best answered briefly and directly. The interviewer will ask you a follow-up question if they need additional information.

William's Answer

"While I am adept at several different programming languages, the one I prefer the most is Python. This is because it's easy to learn and has a great many libraries I can leverage. This helps to reduce the time it takes to code and enables me to be more creative and efficient."

13.

What are the most commonly used processors in modern computers?

Employers expect job candidates to be up-to-date on current trends in technology used in the computer science profession. You should be able to name the current processors used as well as the latest versions of operating systems, popular software applications, and other technology that has been recently released from manufacturers. Research the company or organization prior to your interview to determine what technology they use. When providing examples of current technology, you should reference the same technology you discovered in your research.

William's Answer

"The most popular processors in use in today's computers are from Intel and AMD. The latest releases from Intel include the Core i5, the Core i7, and the Core i9. AMD's most recent processors are the Ryzen 5 and 7."

14.

What has been the biggest mistake you have made when delegating work? The biggest success?

Delegation is a key skill any worker needs to possess. It is even more important for managers and supervisors. Talking about what you've learned from your mistakes and successes while delegating a task will demonstrate your growth potential. When discussing a mistake, make sure you talk about what you learned from it and what you will avoid doing in the future.

William's Answer

"My biggest success when delegating work was assigning an inexperienced coder the job of creating code for a complex task. I knew this was a stretch for them, but I also knew that it would help them develop new skills if they were successful. I assigned one of the more experienced coders to work with them. The individual was able to complete the task and learn some new coding skills along the way. Ironically, a similar situation was my biggest failure. I tried to do the same thing with another new coder, and they could not complete the code. The difference between these two situations was that I did not assign a mentor, so the individual had to work on their own in the latter. Not only did they fail in developing the code, but they became discouraged and quickly left the company for another job. What I learned from this was that I need to make sure my staff have a coach or manager who can help them be successful when I assign stretch goals to them."

15.

What is a process and a thread, and how are they used in your profession?

This technical question asks you to define and compare two very similar terms. Knowing the answer to questions like this will demonstrate your qualifications as a computer scientist. It is highly recommended that you review the terms, technologies, concepts, and processes used in your job before attending an interview. Interviewers are likely to ask about all of these.

William's Answer

"A process and a thread are very similar in concept. In the execution of a program, both define the sequences and code a program executes. The difference between a process and a thread is that a thread is a segment of a process. Processes can have several different threads which define how the program executes. Another difference is that processes will take longer to terminate than individual threads. Finally, threads can share memory while processes can't."

More Interview Q&As
Explore expert tips and resources to be more confident in your next interview.
Behavioral
Common
Phone
Tough
Leadership
All Interview Topics
All Career Q&As
Disclaimer
Our interview questions and answers are created by experienced recruiters and interviewers. These questions and answers do not represent any organization, school, or company on our site. Interview questions and answer examples and any other content may be used else where on the site. We do not claim our questions will be asked in any interview you may have. Our goal is to create interview questions and answers that will best prepare you for your interview, and that means we do not want you to memorize our answers. You must create your own answers, and be prepared for any interview question in any interview.
Learn more about what we believe >
Read our Terms of Use for more information >