Pull to refresh

Algorithms in Go


Most solutions to algorithmic problems can be grouped into a rather small number of patterns. When we start to solve some problem, we need to think about how we would classify them. For example, can we apply fast and slow аlgorithmic pattern or do we need to use cyclic sortpattern? Some of the problems have several solutions based on different patterns. In this series, we discuss the most popular algorithmic patterns that cover more than 90% of the usual problems.

It is different from High-School Algorithms 101 Course, as it is not intended to cover things like Karatsuba algorithm (fast multiplication algorithm) or prove different methods of sorting. Instead, Algorithmic Patterns focused on practical skills needed for the solution of common problems. For example, when we set up a Prometheus alert for high request latency we are dealing with Sliding Window Pattern. Or let say, we organize a team event and need to find an available time slot for every participant. At the first glance, it is not obvious that in this case, we are actually solving an algorithmic problem. Actually, during our day we usually solve a bunch of algorithmic problems without realizing that we dealing with algorithms.

The knowledge about Algorithmic Patterns helps one to classify a problem and then apply the appropriate method.

But probably most importantly learning algorithmic patterns boost general programming skills. It is especially helpful when you are debugging some production code, as it trains you to understand the execution flow.

Patterns covered so far:

Stay tuned :)

<Promo> If you interested to work as a backend engineer, there is an open position in my squad. Prior knowledge of Golang is not required. I am NOT an HR and DO NOT represent the company in any capacity. However, I can share my personal experience as a backend engineer working in the company. </Promo>

Hubs: Programming Algorithms Go Interview
Total votes 7: ↑6 and ↓1 +5

Comments 0

Only those users with full accounts are able to leave comments. Log in, please.

Popular right now

Разработчик Go
from 180,000 to 250,000 ₽Lanck TelecomСанкт-Петербург
GO разработчик
from 100,000 to 250,000 ₽Reka.MarketИннополисRemote job
Go Developer
from 150,000 to 200,000 ₽DevimСанкт-ПетербургRemote job
Backend Developer (Python/GO)
from 150,000 ₽AgentAppСанкт-ПетербургRemote job
Backend-разработчик Go / PHP
from 180,000 to 250,000 ₽adsteroidRemote job

Top of the last 24 hours