Get Mystery Box with random crypto!

Coding interview preparation

Logo of telegram channel coding_interview_preparation — Coding interview preparation C
Logo of telegram channel coding_interview_preparation — Coding interview preparation
Categories: Technologies
Language: English
Subscribers: 3.76K
Description from channel

Preparing programmers for job interviews.
Free courses: @bigdataspecialist
@programming_books_bds
@datascience_bds
@github_repositories_bds
@data_visualization_bds
@tech_news_bds
@python_bds
DMCA disclosure: @disclosure_bds
Contact: @mldatascientist

Ratings & Reviews

1.50

2 reviews

Reviews can be left only by registered users. All reviews are moderated by admins.

5 stars

0

4 stars

0

3 stars

0

2 stars

1

1 stars

1


The latest Messages 6

2022-02-14 19:00:43 Computer Science 61B, 002 - Spring 2015
Data structures
by UC Berkeley


Teacher: Joshua A. Hug
37 video lessons
35 hours
Free

Course link

#datastructures #algorithms #cs #dsa

Join @bigdataspecialist for more
187 views16:00
Open / Comment
2022-02-12 23:41:48
Interview Preparation Plan for 30 Days: 200+ coding and Behavioural questions

Table of contents

Day 1: Arrays
Day 2: Sorting
Day 3: Searching
Day 3: Matrix
Day 4: Sliding Window Patten
Day 5: Maths
Day 6 & 7: Linked list
Day 8: 2 Pointer
Day 9: Fast & Slow Pointers
Day 10: Stack
Day 11: Queue
Day 12: Hashing
Day 13 & 14: Heap
Day 15: Greedy
Day 16: Recursion
Day 17: Backtracking
Day 18: Divide & Conquer
Day 19: String
Day 20 & 21: Binary Tree
Day 22: Binary Search Tree
Day 23: Mixed Topics
Day 24: Graph
Day 25 & 26: Dynamic Programming
Day 27: Design Patterns
Bits Manipulation (optional)
System Design — Key Concepts and Terms (Interview notes)
Day 28 & 29: Theory (OS, CN, DB) (To be added)
Day 30: Behavioural Interview (To be added)
Day 30: Projects (How to discuss projects in interviews)

Link:
https://ganeshpr227.medium.com/30-days-interview-preparation-plan-200-best-coding-questions-and-behavioural-interviews-3f8fc19c2361
370 views20:41
Open / Comment
2022-02-07 12:27:00
How to prepare for coding interview
160 views09:27
Open / Comment
2022-02-05 16:13:38 The performance draws a line between feasible and infeasible.
It provides a clean standard to think about the program or system behavior.
Performance is just like money where we use it to pay for more functionality or user-friendliness. For example, we code in Java or C++ for the OOPS features, even though Java or C++ is approx. 3 times slower than C. In other words, we are willing to pay the performance by a factor of 3 to get more functionalities.
Speed is always fun and we love it!

Source: EnjoyAlgorithms
89 viewsedited  13:13
Open / Comment
2022-02-05 16:12:48
One of important questions on programming interviews is related to program efficiency and performance.

Why analysing efficiency is important?
Suppose computers were infinitely fast and computer memory was free. Would you have any reason to study algorithms? But the reality is: computers may be fast but not infinitely fast, and memory may be inexpensive but not free. So, running time and space are essential resources for defining the performance of the computer program. Think!

In computer science, these things are as crucial as an algorithm’s performance: Correctness of a code, Functionality, User Friendliness, Modularity, Scalability, Security, Maintainability, Programmers time. But the critical question is : why do we analyze the performance of an algorithm? Here are a few important reasons:
97 viewsedited  13:12
Open / Comment
2022-01-31 15:10:02 Questions like this are great because they test so many things at the same time:

The candidate's general competence with algorithms, space/time complexity, etc.
The candidate's ability to respond to different constraints and handle various trade-offs. This is something engineers deal with all of the time, and it's a critical skill to have.
The candidate's creativity. Each constraint forces a person to start from scratch and think of a completely new approach -- a great test of creativity.
The candidate's attitude toward complexity. Some candidates get permanently stuck because they start off by trying to come up with the O(n*log n) time / O(1) space solution. They assume that using a hash or comparing all elements of the list to all other elements is not what you're looking for, and so they don't mention the easy solutions (but also can't figure out the harder solutions). This is a yellow flag that the candidate tends to overcomplicate things (I'll typically ask subsequent interviewers to watch out for this tendency).
The candidate's passion for learning and challenges. Some people get excited when you throw in harder and harder constraints, others get dejected and/or lazy.

** To give credit where credit is due, I was asked this question during an interview at Microsoft. I thought it was a great question and have been using it myself ever since. Quora seems like a good place to retire the question and force myself to think of something more original =).

Source: Leo Polovets
233 views12:10
Open / Comment
2022-01-31 15:10:02 From my experience, the best programming questions are the ones that have multiple approaches with different trade-offs. Observing someone tackle the same problem under different constraints can teach you a lot about the person's attitude and abilities. I'll give a concrete example, and then explain why I think it's a great question.


Problem**: Let's say you have a list of N+1 integers between 1 and N. You know there's at least one duplicate, but there might be more. For example, if N=3, your list might be 3, 1, 1, 3 or it might be 1, 3, 2, 2. Print out a number that appears in the list more than once. (That is, in the first example, you can print '1' or '3' -- you don't have to print both.)

[Pause here if you want to think about the problem because I'm about to give away the solution.]

Here's an idealized conversation:

Interviewer: [states problem]

Candidate: Well, I guess the most obvious approach is to compare every number in the list to every other number until you find a duplicate.

Interviewer: That's a good start. What are the space and time complexities of that solution?

Candidate: O(n^2) time and O(1) space.

Interviewer: Great. Okay, well let's say the list is pretty big, so you need something that's faster than O(n^2).

Candidate: Hm, I guess I could iterate through the list and use a hash to keep track of the values I've seen so far. Once I encounter a number that's already in the hash, I am done.

Interviewer: That's a good idea, but does it need to be a hash given that all of the inputs are integers between 1 and N?

Candidate: Ah, I guess I could just use a boolean array and use the integer values as indices.

Interviewer: What are the space and time complexities of that solution?

Candidate: O(n) time to iterate through the list and O(n) space for the array/hash.

Interviewer: Very good. Okay, let's say the list of numbers is quite large, so you'd like to avoid creating a copy of it. Maybe you have 8GB of RAM, and the list takes up 6GB.

Candidate: Well, I could sort the numbers and compare adjacent pairs. That would take O(n*log n) time and O(1) space if I use an in-place sort like mergesort.

Interviewer: Excellent. Let's throw in one final constraint: what if you want something faster than O(n^2) and you can't afford to use a lot of extra space, but you also can't manipulate the original list. For example, maybe the list is on a read-only CD.

(Almost every candidate needs a hint or two at this point..)

Candidate: I think I can binary search for a duplicated number. For example, I go through the list and count the number of integers between 1 and N/2. If the count is greater than the number of possible integers in that range, then I know there's a duplicate in that range. Otherwise, a duplicate must exist in the range of N/2+1 to N. Once I know which half of the range the duplicate is in, I can recurse and binary search in that half, then keep repeating the process until I've found a duplicated number. The time complexity is O(n*log n) and the space complexity is O(1).

Interviewer: When can you start?
209 views12:10
Open / Comment
2022-01-30 16:58:07 Top Programming Interview Questions and Answers (General)

Question: Please explain what you understand by computer programming.
Answer:
Also known as coding or programming, computer programming is the process of encoding an algorithm into a notation, typically a computer program, by means of some programming language so that it can be executed by a computer.

Each programming language contains a set of instructions for the computer to execute a set of tasks. Programming is a complex process that includes designing an algorithm, coding the same in a programming language, debugging a program, maintaining, and updating the code.

Question: Can you enumerate and explain the various types of errors that can occur during the execution of a computer program?
Answer
: Three types of errors can occur during the execution of a computer program. These are:

Logical errors – This occurs in the scenario of a computer program implementing the wrong logic. As there is no report generated for these types of programming errors, they are the most difficult ones to deal with.
Runtime errors – Occurs when the program contains an illegal operation. For example, dividing a number by 0. These are the only errors that are displayed instantly during the program execution. Upon the occurrence of a runtime error, the program execution is stopped and a diagnostic message is displayed.
Syntax errors – Occurs when one or more grammatical rules of the programming language being used is violated. Such errors are detected during compile time.

Question: Please explain an algorithm. What are some of its important features?
Answer
: An algorithm can be defined as a set of finite steps that when followed helps in accomplishing a particular task. Important features of an algorithm are clarity, efficiency, and finiteness.

Question: What do you understand by maintaining and updating a computer program?
Answer
: The maintenance and updating process of a computer program starts post its successful installation. While program maintenance is the continuous process of monitoring the computer program for bugs and errors, updating the computer program means making it better with minor and major changes over time.

Question: Please provide a brief explanation on variables.
Answer
: Variables are used for storing the input of a program as well as the computational results during program execution. These are actually named memory locations. The value stored in a variable can change during the program execution.

Source: Vijay Singh
141 views13:58
Open / Comment
2022-01-24 16:35:01 15 Essential C# Interview Questions
by Toptal

https://www.toptal.com/c-sharp/interview-questions

PS. sorry for not posting for a long time, we are working on programming quizzes which will help you prepare for programming interviews and generally improve your programming knowledge.

Stay tuned
126 views13:35
Open / Comment
2021-09-22 15:29:19 Top 50 Shell Scripting Interview Questions & Answers (2021)

https://www.guru99.com/shell-scripting-interview-questions.html
735 views12:29
Open / Comment