4 Ways to Improve Your Coding Interviews
#004
Interviewing is hard.
How can you separate yourself in a hard market?
Where can you improve when HR doesn't reach back out?
How do you get a software job?
👋 Hello, I’m Eric! I write and make videos about all things software engineering!
Items after article:
- Codingwithroby update.
- Last week's Coding Solution.
- Next week's coding challenge added after solution.
- Productivity Tip 🤓
Coding interviews can be tough.
When I was job hunting, I solved 97 Leetcode problems of varying difficulties: easy, medium, and hard. I devoted a lot of time to studying data structures and algorithms.
However, what I didn’t know was that studying data structures and algorithms is only 1 of the 4 aspects needed to pass the interview.
I entered the interview room well-prepared with algorithms, feeling ready to ace the coding interview. Afterwards, I thought it went smoothly. At home, while discussing it with my wife, I checked my email.
There it was—an email from HR. I opened it and got a surprise: I didn't get the job. Confused, I wondered if I was good enough to be a programmer.
If you've experienced this, you're not alone. Developers worldwide struggle with interviews.
Many people, myself included, fall into a trap of thinking technical interviews are all about being technical. When in reality it is about being a human that can solve technical problems. Think about that for a moment.
Interviewers, being human themselves, primarily look for human skills.
Let's break down these human skills into a four-tier pyramid. Picture those children's toys with rings that stack from smallest at the top to largest at the bottom.
Number 1: Communication.
In your daily work, you'll interact with your team, clients, stakeholders, and bosses. During the interview, you must articulate your thought process and reasoning, skills essential for the job.
-
Can you articulate your ideas clearly?
-
Can you listen and take feedback?
-
Are you able to make complex problems simple to understand?
These abilities, known as soft skills, can be the separation you need to get hired.
Since communication is needed in every aspect of life, this sets the foundation for who you are and what hiring managers are looking for. Lets think of the pyramid, with communication as the very bottom.
Number 2: Cultural fit.
Companies are not just looking for great coders; they're looking for individuals who align with their values, mission and work culture.
Does their values align with your values, what about your mission and work culture.
Consider Google’s ten things we know to be true, for example. Knowing them is beneficial if you aim to work there
Google’s Ten Things We Know To Be True:
-
Focus on the user and all else will follow.
-
Its best to do one thing, really really well.
-
Fast is better than slow.
-
Democracy on the web works.
-
You don’t need to be at your desk to need an answer.
-
You can make money without doing evil.
-
Theres always more information out there.
-
The need for information crosses all borders.
-
You can be serious without a suit.
-
Great just isn’t good enough.
Think of these questions and ask yourself:
-
Do you share the company's vision?
-
Can you work well with the team?
-
Are you adaptable and open to new ideas?
-
Do you believe in the companies goal and philosophy.
If you can answer yes to these, you are on a great direction to be an additional member of the team.
Number 3: Problem Solving Ability (DSA)
It’s not about finding a solution - it is about finding the best solution. Interviewers are often looking for optimal approaches.
Demonstrating quick, efficient problem-solving skills is crucial. Compare your solutions to others', focusing on time complexity and optimization.
Number 4: System Design and Architecture
Beyond coding, designing scalable and robust systems is crucial. This includes knowledge of databases, APIs, micro-services, cloud, and infrastructure.
It’s not just about writing code but about architecting solutions that can handle real-world challenges.
Coding is just one aspect of a software engineering job. Equally important are problem-solving skills and strong communication."
Codingwithroby Update:
- Two new free videos:
Coding Solution from last week
The question was:
- Create a .txt file within your directory. Inside the .txt file add:
- "The quick brown fox jumps over the lazy dog. The dog was not amused."
- Write a program that analyzes a given text file and returns the 10 most frequently used words along with their counts. Ignore punctuation and make the analysis case-insensitive.
Coding Challenge: Analyze Palindromic Words in a String
Write a program that analyzes a given string to find all unique palindromic words (words that read the same forward and backward). Your program should:
1. Ignore case and punctuation.
2. Return the list of unique palindromic words sorted alphabetically.
Input Example
"Madam Arora teaches malayalam. Anna went to civic duty, and a racecar zoomed by."
Output Example
Unique palindromic words: ['anna', 'arora', 'civic', 'madam', 'malayalam', 'racecar']
Productivity tip:
The 2-Minute Rule: If a task takes less than 2 minutes, do it immediately. This prevents small tasks from piling up and overwhelming your to-do list. For larger tasks, schedule dedicated time to handle them instead of letting them linger. Clearing quick tasks on the spot keeps your workflow smooth and your mind clear.
Two more items to become a better software engineer:
Alright that is all,
Cheers friends!
Eric
Responses