What other data structures do you know (queue, stack)? Why is a linked list convenient for implementing a queue? What is the asymptotic complexity of inserting an element into a queue based on an array and on a linked list?
Golang
What are your salary expectations? How do you feel about formalizing PТК?
Name design patterns from different categories (creational, structural, behavioral, parallel programming) and explain one favorite in detail.
Tell about your experience at Gazprom Neft.
When we program in Go and when we write in SQL, in which programming paradigms are we operating? Which paradigm corresponds to Go, and which to classical SQL?
package main import "fmt" func subis(is []int) []int { return append(is, 5) } func main() { is := []int{1, 2, 3, 4} subis(is[2:3]) fmt.Println(is) }
What is the asymptotic complexity of key search in a hash table and how is it achieved? How exactly does bucket addressing occur based on the hash of the key?
Write a function processBatch that splits an array of strings into batches of 10, saves each batch via the Saver interface, and upon success, sends a notification via the Notifier interface.
Tell about your most complex task — technically or business-wise.
What projects were at your last job?
Tell about the isolation levels of transactions in PostgreSQL.
How does the system handle an event where a delivery event arrives without all the necessary data?
When migrating from Postgres to ClickHouse for report generation — did you try optimizing Postgres first (indexes, etc.)?
What is the danger of passing a slice to a function? Is there a trick with arrays?
What is a race condition and how to avoid it?
Can you give an example of implementing the chain of responsibility in a classic RESTful service in Go?
A new nomenclature (new product) has appeared — should it appear in Redis?
Have you ever implemented a complex project from scratch?
What is the ratio of clicks to impressions called?
Do you know about database normalization, what is it?