On the way to your first coding interview? This is a collection of some of the most common coding, algorithm and engineering questions. Your perfect preparation for your interview!
When you know programming, what is the need to learn software engineering concepts?
A person who knows how to build a wall may not be good at building an entire house. Likewise, a person who can write programs may not have knowledge of other concepts of Software Engineering. The software engineering concepts guide programmers on how to assess requirements of end user, design the algorithms before actual coding starts, create programs by coding, testing the code and its documentation.
What is software process or Software Development Life Cycle (SDLC)?
Software Development Life Cycle, or software process is the systematic development of software by following every stage in the development process namely, Requirement Gathering, System Analysis, Design, Coding, Testing, Maintenance and Documentation in that order.
What is software project management?
Software project management is process of managing all activities like time, cost and quality management involved in software development.
Who is software project manager?
A software project manager is a person who undertakes the responsibility of carrying out the software project.
What does software project manager do?
Software project manager is engaged with software management activities. He is responsible for project planning, monitoring the progress, communication among stakeholders, managing risks and resources, smooth execution of development and delivering the project within time, cost and quality contraints.
What is software scope?
A. Software scope is a well-defined boundary, which encompasses all the activities that are done to develop and deliver the software product.
The software scope clearly defines all functionalities and artifacts to be delivered as a part of the software. The scope identifies what the product will do and what it will not do, what the end product will contain and what it will not contain.
What is project estimation?
It is a process to estimate various aspects of software product in order to calculate the cost of development in terms of efforts, time and resources. This estimation can be derived from past experience, by consulting experts or by using pre-defined formulas.
How can we derive the size of software product?
Size of software product can be calculated using either of two methods
What is baseline?
A. Baseline is a measurement that defines completeness of a phase. After all activities associated with a particular phase are accomplished, the phase is complete and acts as a baseline for next phase.
What are functional requirements?
Functional requirements are functional features and specifications expected by users from the proposed software product.
What is modularization?
Modularization is a technique to divide a software system into multiple discreet modules, which are expected to carry out task(s) independently.
What is concurrency and how it is achieved in software?
Concurrency is the tendency of events or actions to happen simultaneously. In software, when two or more processes execute simultaneously, they are called concurrent processes.
What is functional programming?
Functional programming is style of programming language, which uses the concepts of mathematical function. It provides means of computation as mathematical functions, which produces results irrespective of program state.
What is black-box and white-box testing?
Black-box testing checks if the desired outputs are produced when valid input values are given. It does not verify the actual implementation of the program.
White-box testing not only checks for desired and valid output when valid input is provided but also it checks if the code is implemented correctly.
What programming languages have you used in the past? What are your top two programming languages?
This question allows you to see how many programming languages the candidate knows and whether they are familiar with a language you commonly use at your company. What to look for:
How much are you coding on a daily basis? If you do not code on a daily basis, what is typical in your role?
Since coding is a big part of being a software engineer, if a candidate isn’t spending much of their time coding and they aren’t in a management role, it may be a sign of problems with their coding skills. What to look for:
How comfortable are you in a startup environment, or do you prefer working in a more established company?
Working in a startup is very different than being at a more established company. You want to make sure a candidate is a good fit for your company environment and expected workload that comes with working in a startup. What to look for:
If needed, how would you go about designing scalable applications? Walk us through your process.
This question is designed to test a candidate’s knowledge and thought processes when it comes to design and solving common project specific problems. What to look for:
Find all solutions to these questions on https://simpleprogrammer.com/programming-interview-questions/
https://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm https://www.indeed.com/hire/interview-questions/software-engineer https://simpleprogrammer.com/programming-interview-questions/