👆Ответ к легкой задачке
package main
import (
    "bufio"
    "os"
)
func Reverse(a string) string {
    // великолепный код тут
}
func main() {
    inputFile, err := os.Open(os.Getenv("INPUT_FILE"))
    checkError(err)
    defer inputFile.Close()
    inputFileScanner := bufio.NewScanner(inputFile)
    inputFileScanner.Split(bufio.ScanLines)
    inputFileScanner.Scan()
    b:= inputFileScanner.Text()
    err1 := inputFileScanner.Err()
    checkError(err1)
    result := Reverse(b)
    outputFile, err := os.OpenFile(os.Getenv("OUTPUT_FILE"), os.O_WRONLY, os.ModePerm)
    checkError(err)
    defer outputFile.Close()
    _, err = outputFile.WriteString(result)
    checkError(err)
}
func checkError(err error) {
    if err != nil {
        panic(err)
    }
}
Golang задачи с собеседований🤡20👍1🤔1
  В Go  можно задавать «дедлайны». С помощью таких лимитов по времени можно ограничивать время работы основного потока или горутины.
Как думаете, где допущена опечатка?
  Как думаете, где допущена опечатка?
Anonymous Quiz
    9%
    вместо "context.WithDeadline" должно быть "context.Deadline".
      
    77%
    вместо "ctx.Dead()" должно быть "ctx.Done()".
      
    14%
    вместо "context.WithDeadline" должно быть "context.WithCancel".
      
    😁11
  Какой json мы получим из этих слайсов?
  Anonymous Quiz
    57%
    ... aa: "null"; bb: "[]"
      
    15%
    ... aa: ""; bb: ""
      
    28%
    ... aa: "[]"; bb: "[]"
      
    Почти во всех языках есть конструкция «return», которая призвана вернуть контекст выполнения из функции/процедуры — то, что мы привыкли считать «возвращаемым значением». В Golang для возврата значения тоже можно воспользоваться «return», но в отличие от других языков значение или имя переменной указывать не обязательно. Можно деклалировать имя или имена переменных при объявлении, а после необходимых операций в функции просто написать return и значения данных будут возвращены из функции.
А ещё в Go есть способ обмануть этот механизм возврата значений. Как?
Golang задачи с собеседований
  А ещё в Go есть способ обмануть этот механизм возврата значений. Как?
Golang задачи с собеседований
Какой вариант подойдет, чтоб обмануть этот механизм возврата значений?
  Anonymous Quiz
    15%
    Вариант 1
      
    62%
    Вариант 2
      
    23%
    Вариант 3
      
    👍4
  В Go есть привычные массивы, но есть и другое понятие — слайс байт. Слайсы аналогичны массивами в других языках программирования, но со своими особенностями. Строка в Go — это тоже слайс байт. А вот для работы с одним символом используется тип…
  Anonymous Quiz
    10%
    ...char.
      
    85%
    ...rune.
      
    4%
    ...string.
      
    🥱11👍2🥴1
  Forwarded from BZD • Книги для программистов
  
  Разработка_и_анализ_компьютерных_алгоритмов.pdf
    33.8 MB
  📔 Title: Разработка и анализ компьютерных алгоритмов
#book #algorithm #RU
🌐 Lang.: Russian
🧔 Author: Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман
🕘 Year: 2021
📑 Pages: 544
#️⃣ ISBN: 978-0-201-00029-0
📝 Description: В этой монографии, ставшей классикой, излагаются результаты теоретических и прикладных исследований по построению и анализу эффективных вычислительных алгоритмов. Рассмотрены задачи поиска, сортировки массивов, умножения целых чисел, умножения матриц, алгоритмы на графах, а также основы теории сложности. Книга предназначены для специалистов по компьютерным наукам и программистов, а также будет полезна студентам и аспирантам, специализирующимся в области информатики.
@bzd_channel
#book #algorithm #RU
🌐 Lang.: Russian
🧔 Author: Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман
🕘 Year: 2021
📑 Pages: 544
#️⃣ ISBN: 978-0-201-00029-0
📝 Description: В этой монографии, ставшей классикой, излагаются результаты теоретических и прикладных исследований по построению и анализу эффективных вычислительных алгоритмов. Рассмотрены задачи поиска, сортировки массивов, умножения целых чисел, умножения матриц, алгоритмы на графах, а также основы теории сложности. Книга предназначены для специалистов по компьютерным наукам и программистов, а также будет полезна студентам и аспирантам, специализирующимся в области информатики.
@bzd_channel
👍3
  Forwarded from BZD • Книги для программистов
  
  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
  #book #UX #design #EN
🌐 Lang.: English
🧔 Author: Jeff Gothelf, Josh Seiden
🕘 Year: 2021
📑 Pages: 286
#️⃣ ISBN: 9781449311650
📝 Description: Lean UX - синоним современного дизайна и разработки продуктов. Сочетая качественный дизайн, гибкие методы работы и сильное деловое чутье, дизайнеры, менеджеры по продуктам и разработчики по всему миру делают Lean UX ведущим подходом для цифровых продуктов сегодня.
@bzd_channel
Forwarded from BZD • Книги для программистов
  
  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
#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
🤡3
  В Go есть бенчмарки для тестирования производительности программы или функции. Бывает недостаточно иметь код программы на языке Go, и нужно узнать, что происходит на уровне ассемблерного кода. Получить ассемблерный код из исходного кода программы на Go...
  Anonymous Quiz
    63%
    ...можно с помощью команды go tool compile -S main.go.
      
    11%
    ....нельзя.
      
    27%
    ...можно, но только из уже скомпилированного бинарного файла.
      
    😁4
  В Go для некоторых базовых вещей отсутствует элегантное решение. Например, для работы со слайсами не добавлены «базовые» операции над ним.
sl := []int{1, 3, 4} n := 1 Поэтому, чтобы удалить второй элемент в этом слайсе, нужно использоваться код…
  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
      
    👍6
  При компиляции программы, может понадобиться зафиксировать некоторую информацию в итоговом бинарном файле. Например указать хеш коммита и ветку 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?
  В каком из вариантов x определена на heap?
Anonymous Quiz
    33%
    func foo() int { x := new(int) return *x}
      
    67%
    func bar() *int { x := new(int) return x}
      
    👍9👎4
  Forwarded from BZD • Книги для программистов
  
  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
#book #Golang #EN
🌐 Lang.: English
🧔 Author: Adam Freeman
🕘 Year: 2022
📑 Pages: 1105
#️⃣ ISBN: 978-1-4842-7354-8
📝 Description: Автор бестселлеров Адам Фриман объясняет, как получить максимальную отдачу от Go, начиная с основ и заканчивая самыми продвинутыми и сложными функциями языка. Вы узнаете, как Go строит простую и согласованную систему типов для создания комплексной и продуктивной разработки, позволяющей создавать быстрые и надежные приложения, работающие на разных платформах.
@bzd_channel
🔥3
  Обязательно ли писать «package»?
  Anonymous Quiz
    3%
    Нет, не обязательно
      
    7%
    Обязательно только для главного файла
      
    90%
    Всегда обязательно
      
    🤡36👍2😱1🌚1