How to Prepare for a Technical Interview
theretro.dev
theretro.dev
Most of the questions in this article are of the "Are you aware of feature X or buzzword Y" type questions. In my experience there is basically zero correlation between people who can answer questions like this and how they actually do on the job. If someone is not going to hire me because I haven't heard the term "Open-Closed Principle" in 20+ years of software engineering, this is definitely not a place I want to work.
LOL!
Facebook and Wayfair are using it among https://trio.dev/blog/companies-using-php
Perl has fallen. Fortran is legacy. Ruby isn't as hot as it once was.
At some point, new people won't want to learn an old language. This is when a language begins to wither away.
It will happen to PHP. Eventually (in the technological limit) it'll happen to everything.
The parent doesn't make any reference to PHP programmers, and doesn't appear to be looking down on any person or class of people, so this doesn't seem to be the embarrassing brand of elitism.
There are precious few good reasons to use PHP in 2021, a world of much better languages with much stronger ecosystems than the world of two decades ago when PHP was a reasonable choice.
C has more problems than PHP, yet as with PHP, it is dominant worldwide.
Just the linux kernel alone, its scope, forks, usage makes C god.
There are always a lot of "but!" statements to this reality, but they don't change fact.
PHP, modern PHP is a different beast than a decade, 20 years ago. Imagine if C took on some of the properties of rust, but was still just called C. And used as C.
That's PHP, you bunch of hosers!
For FAANG type places sure, but not everyone runs their interview process with that content.
Anecdata: I interviewed at a bank once and they wanted to know how specific library functions were implemented in a specific programming language.
But nothing is for sure. Maybe these questions are still very relevant and it's just that I haven't come across them in interviews recently maybe?
More like a certain subset of company. I've seen this sort of "trivia/jargon" interview primarily at non-tech or non-tech adjacent companies. think like F500's far away from the tech industry.
Yea. I think there are basically two style of techincal interviews. One is FAANG where they ask you university level stuff. And the other is they ask you a bunch of stuff that they want to have implemented but haven't.
I think it's also why there is a massive culture difference in say Agile in FAANG and everywhere else. FAANG has people that don't know these things as well because to get their jobs they had to learn and study univeristiy level problems.
I think a lot of FAANG devs would get blown out of the water at some mid-level companies. FAANG has the reputation but the reputation is built on a very small subset of their actual engineers.
I've never used Docker, Node, Nginx, or most anything else made in the last decade.
Am I a shitty developer? Am I a cheat? Am I an imposter? No. I simply don't give a shit about learning the formal way to do things when the work I do on a daily basis doesn't require it.
Let's be honest: the vast majority of PHP web development boils down to "echo", "foreach", and database access (PDO). It's essentially a bunch of CRUD operations. Architecture and system design is usually abstracted away by existing frameworks.
If you're only editing existing websites and not building modules which actually get shipped to end users, then you're really just doing the grown-up equivalent of editing a MySpace template.
What is the Open-Closed Principle?
What is Liskov’s Object Replacement Principle?
What is the Interface Segregation Principle?
If you believe that being able to recite answers to questions like this makes you a good developer... then you probably also believe that it's possible to get a University Degree in 3 Minutes.
From Episode 6, "The General":
Number Twelve: What was the Treaty of Adrianople?
Number Six: [looks a bit puzzled, but answers automatically] September... 1829.
Number Twelve: Wrong. I said "What," not "When." You need some special coaching.
Now, to be fair, I -have- asked if a person is familiar with CAP. But only as a way to determine if that is a relevant communication framework for discussing distributed problems/solutions; a "I haven't" isn't a ding against them, but a place to provide some context for the upcoming questions around distributed system tradeoffs.
Then you have ones where they care about SOLID, DDD, etc these are normally Java/PHP/Kotlin jobs and more mid-level and enterprsied based. Also project recovery agencies also use these. These care about production knowledge and what you can actually do. These require experience to pass.
In my experience the main difference between the two styles is companies that have a massive reputation and can afford to reject lots of compentent people do algorithm tests. Startups who think they're cool also do them at the start. These companies can also afford to have lots of developers who can't actually do high level work because most of their work is very basic and the hard stuff is dealt with by others.
Companies who need a large percentage engineers to come in and do hard things and deliver real value will care about your ability and knowledge to write clean code over your ability to do university level quizzes.