Golang задачи с собеседований
4.59K subscribers
486 photos
6 videos
12 files
254 links
Задачи, тесты и теоретические вопросы по Go. Так же по gin, grpc, горутинах, архитектуре api и http стэку.

Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
加入频道
Какой json мы получим из этих слайсов?
Anonymous Quiz
57%
... aa: "null"; bb: "[]"
15%
... aa: ""; bb: ""
28%
... aa: "[]"; bb: "[]"
Почти во всех языках есть конструкция «return», которая призвана вернуть контекст выполнения из функции/процедуры — то, что мы привыкли считать «возвращаемым значением». В Golang для возврата значения тоже можно воспользоваться «return», но в отличие от других языков значение или имя переменной указывать не обязательно. Можно деклалировать имя или имена переменных при объявлении, а после необходимых операций в функции просто написать return и значения данных будут возвращены из функции.

А ещё в Go есть способ обмануть этот механизм возврата значений. Как?

Golang задачи с собеседований
Какой вариант подойдет, чтоб обмануть этот механизм возврата значений?
Anonymous Quiz
15%
Вариант 1
62%
Вариант 2
23%
Вариант 3
В Go есть привычные массивы, но есть и другое понятие — слайс байт. Слайсы аналогичны массивами в других языках программирования, но со своими особенностями. Строка в Go — это тоже слайс байт. А вот для работы с одним символом используется тип…
Anonymous Quiz
10%
...char.
85%
...rune.
4%
...string.
Разработка_и_анализ_компьютерных_алгоритмов.pdf
33.8 MB
📔 Title: Разработка и анализ компьютерных алгоритмов

#book #algorithm #RU

🌐 Lang.: Russian
🧔 Author: Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман
🕘 Year: 2021
📑 Pages: 544
#️⃣ ISBN: 978-0-201-00029-0

📝 Description: В этой монографии, ставшей классикой, излагаются результаты теоретических и прикладных исследований по построению и анализу эффективных вычислительных алгоритмов. Рассмотрены задачи поиска, сортировки массивов, умножения целых чисел, умножения матриц, алгоритмы на графах, а также основы теории сложности. Книга предназначены для специалистов по компьютерным наукам и программистов, а также будет полезна студентам и аспирантам, специализирующимся в области информатики.

@bzd_channel
Jeff_Gothelf,_Josh_Seiden_Lean_UX_Creating_Great_Products_with_Agile.pdf
7.1 MB
📔 Title: Lean UX

#book #UX #design #EN

🌐 Lang.: English
🧔 Author: Jeff Gothelf, Josh Seiden
🕘 Year: 2021
📑 Pages: 286
#️⃣ ISBN: 9781449311650

📝 Description: Lean UX - синоним современного дизайна и разработки продуктов. Сочетая качественный дизайн, гибкие методы работы и сильное деловое чутье, дизайнеры, менеджеры по продуктам и разработчики по всему миру делают Lean UX ведущим подходом для цифровых продуктов сегодня.

@bzd_channel
Creating_Augmented_and_Virtual_Realities_Theory_and_Practice_for.pdf
64.5 MB
📔 Title: Creating Augmented and Virtual Realities: Theory and Practice for Next-Generation Spatial Computing

#book #AR #VR #EN

🌐 Lang.: English
🧔 Author: Erin Pangilinan, Steve Lukas, Vasanth Mohan
🕘 Year: 2019
📑 Pages: 372
#️⃣ ISBN: 978-1-492-04419-2

📝 Description: Разработчикам, которые хотят войти в область разработки приложений с виртуальной и дополненной реальностью, на сегодня предоставляется уйма возможностей начать изучать работу в этой сфере. В данной книге авторы показывают процесс разработки AR и VR приложений и предоставляют практические упражнения, которые помогут отточить ваши навыки.

@bzd_channel
В Go есть бенчмарки для тестирования производительности программы или функции. Бывает недостаточно иметь код программы на языке Go, и нужно узнать, что происходит на уровне ассемблерного кода. Получить ассемблерный код из исходного кода программы на Go...
Anonymous Quiz
62%
...можно с помощью команды go tool compile -S main.go.
11%
....нельзя.
27%
...можно, но только из уже скомпилированного бинарного файла.
В Go для некоторых базовых вещей отсутствует элегантное решение. Например, для работы со слайсами не добавлены «базовые» операции над ним.

sl := []int{1, 3, 4} n := 1 Поэтому, чтобы удалить второй элемент в этом слайсе, нужно использоваться код…
Anonymous Quiz
86%
res := append(sl[:n], sl[n+1:]...)
9%
sl.delete(n)
5%
sl[n] = nil
При компиляции программы, может понадобиться зафиксировать некоторую информацию в итоговом бинарном файле. Например указать хеш коммита и ветку Git, или версию собранной программы. Для этого в Go можно устанавливать переменные пакета на этапе компиляции:
Anonymous Quiz
62%
go build -ldflags -X package-import-path.val=foo'
11%
это невозможно.
27%
go build package-import-path.val=foo GOOS=linux GOARCH=arm
Компилятор Go может производить escape analysis, чтобы определить, будут ли данные размещены на heap. Для этого используется флаг -m: go tool compile -m main.go.

В каком из вариантов x определена на heap?
Anonymous Quiz
33%
func foo() int { x := new(int) return *x}
67%
func bar() *int { x := new(int) return x}
Apress_Pro_Go_The_Complete_Guide_to_Programming_Reliable_and_Efficient.pdf
17.1 MB
📔 Title: Pro Go: The Complete Guide to Programming Reliable and Efficient Software Using Golang

#book #Golang #EN

🌐 Lang.: English
🧔 Author: Adam Freeman
🕘 Year: 2022
📑 Pages: 1105
#️⃣ ISBN: 978-1-4842-7354-8

📝 Description: Автор бестселлеров Адам Фриман объясняет, как получить максимальную отдачу от Go, начиная с основ и заканчивая самыми продвинутыми и сложными функциями языка. Вы узнаете, как Go строит простую и согласованную систему типов для создания комплексной и продуктивной разработки, позволяющей создавать быстрые и надежные приложения, работающие на разных платформах.

@bzd_channel
Ближайший конкурент по скорости для Go является
Anonymous Quiz
49%
С++
3%
COBOL
16%
Java
7%
Таковых нет
26%
Си