Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

Выход из системы

translation

Это сообщение переведено AI.

투잡뛰는 개발 노동자

[Для неспециалистов, выживание как разработчик] 14. Краткое изложение часто задаваемых вопросов на техническом собеседовании для начинающих разработчиков

  • Язык написания: Корейский
  • Базовая страна: Все страны country-flag

Выбрать язык

  • Русский
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

Текст, резюмированный ИИ durumis

  • В статье собраны часто задаваемые вопросы по техническим вопросам на собеседовании для начинающих разработчиков, предоставляется описание различных тем, таких как область памяти, структуры данных, базы данных, программирование, алгоритмы замены страниц, процессы и потоки, семиуровневая модель OSI, TCP и UDP.
  • Для лучшего понимания каждая тема снабжена кратким описанием концепции и примерами.
  • В статье представлена полезная информация, которая поможет начинающим разработчикам в освоении базовых технических знаний, необходимых для подготовки к собеседованию.

Разработка без профильного образования: как выжить


#14. Часто задаваемые вопросы на техническом собеседовании для начинающих разработчиков


[Области оперативной памяти]

  • Область кода: область, где хранится исходный код программы. ЦП берет инструкции из области кода (исходный код, функции, управляющие конструкции) и обрабатывает их. Например, когда запускается программа, написанная на языке C, в области кода хранится исходный код этой программы.
  • Область данных: область, где хранятся глобальные и статические переменные. Она выделяется при запуске программы и существует до её завершения. Например, когда запускается программа, написанная на языке C, в области данных хранятся глобальные и статические переменные, объявленные в этой программе.
  • Область стека: временная область памяти, используемая программой. В ней хранятся локальные переменные и параметры функций, связанные с вызовом функций. Она выделяется при вызове функции и уничтожается после завершения её работы. Например, когда вызывается функция, написанная на языке C, локальные переменные и параметры, используемые в этой функции, выделяются в области стека.
  • Область кучи: область, в которой пользователи могут динамически выделять и освобождать память. Например, при динамическом выделении памяти с помощью функции malloc() в языке C выделенная область памяти хранится в области кучи.

[Структуры данных]

  • Стек: структура данных, работающая по принципу LIFO (последним пришел - первым вышел). Например, кнопка "Назад" в браузере работает как стек. Предыдущие посещенные страницы сохраняются в стеке, и при нажатии кнопки "Назад" самая последняя сохраненная страница извлекается и отображается.
  • Очередь: структура данных, работающая по принципу FIFO (первым пришел - первым вышел). Например, получение номера очереди в банке похоже на очередь. Первый человек, который пришел, обслуживается первым, а последний человек, который пришел, обслуживается последним.
  • Дерево: структура данных, представляющая данные в иерархической структуре. Например, DOM-дерево в HTML похоже на дерево. Структура HTML-страницы представлена деревом, начиная с корневого узла "html" и переходя к дочерним узлам.
  • Куча: один из видов бинарного дерева, которое делится на максимальную и минимальную кучи. Например, в очереди с приоритетом данные с наивысшим приоритетом находятся в корневом узле кучи, а данные с более низким приоритетом находятся в дочерних узлах. Это пример максимальной кучи.

[RDBMS и NoSQL]

  • RDBMS: база данных, которая структурирует и управляет данными с помощью жесткой схемы. Данные можно хранить распределенно, и их легко модифицировать. Например, MySQL, Oracle, MS-SQL являются примерами RDBMS.
  • NoSQL: база данных, которая хранит и управляет данными с помощью гибкой схемы. Подходит для обработки и хранения больших объемов данных, а также обладает высокой масштабируемостью. Например, MongoDB, Cassandra, HBase являются примерами NoSQL.

[Процедурное и объектно-ориентированное программирование]

  • Процедурное программирование: парадигма программирования, в которой важно последовательное выполнение. Языки C и Pascal являются процедурными.
  • Объектно-ориентированное программирование: метод обработки данных и процедур, основанный на концепции объектов (Object). Языки Java, C++, Python являются объектно-ориентированными. Например, в программе моделирования автомобиля автомобиль представлен как объект, где атрибуты автомобиля (цвет, ускорение и т.д.) представляют собой данные, а действия, которые автомобиль может выполнять (движение, остановка и т.д.), представляют собой методы.

[Переопределение и перегрузка]

  • Переопределение: переопределение метода родительского класса в дочернем классе для повторного использования. При вызове метода родительского класса в дочернем классе вместо метода родительского класса будет выполняться переопределенный метод дочернего класса. Например, метод toString() в Java является примером переопределения.
  • Перегрузка: определение нескольких методов с одинаковым именем, но разными типами и количеством параметров для различных типов вызовов. Несколько методов с разными параметрами, но одинаковым именем, выполняют свои функции. Например, метод print() в Java является примером перегрузки.

[Алгоритмы замены страниц]

  • FIFO: алгоритм замены самой старой страницы в физической памяти. "Закрытие" задач в панели задач компьютера похоже на алгоритм FIFO. Самая первая запущенная программа закрывается последней.
  • LRU: алгоритм замены страницы, которая использовалась дольше всего. "Приложения для закрытия приложений", которые закрывают старые приложения, которые используются нечасто, также похожи на алгоритм LRU.
  • LFU: алгоритм замены страницы, которая имеет наименьшее количество обращений. Например, функция "Закрыть вкладку" в браузере похожа на алгоритм LFU, которая закрывает наименее используемые вкладки из недавно открытых.
  • MFU: алгоритм замены страницы, которая имеет наибольшее количество обращений. Алгоритм MFU редко используется.

[Процесс и поток]

  • Процесс: единица выполнения, которая выделяется операционной системой. Процесс представляет собой программу. При одновременном выполнении нескольких процессов каждый из них получает отдельную область памяти и ЦП.
  • Поток: единица выполнения в рамках процесса. Потоки совместно используют ресурсы, выделенные процессу. Например, в веб-браузере каждая вкладка работает не как отдельный процесс, а как отдельный поток.

[OSI 7Layer]

  • Прикладной уровень: уровень, который соединяет пользователя с сетью. Включает в себя протоколы HTTP, FTP, SMTP и т.д.
  • Представления: уровень, который определяет способ представления данных. Включает в себя протоколы JPEG, MPEG, SSL и т.д.
  • Сеансовый уровень: уровень, который управляет сеансами между двумя системами.
  • Транспортный уровень: уровень, который отвечает за передачу данных. Включает в себя протоколы TCP, UDP и т.д.
  • Сетевой уровень: уровень, который настраивает маршрут для передачи данных. Включает в себя протоколы IP, ICMP и т.д.
  • Канальный уровень: уровень, который передает данные по физическому адресу (MAC-адрес). Включает в себя протоколы Ethernet, Token Ring и т.д.
  • Физический уровень: уровень, который отвечает за физическое соединение и передачу данных по физическому каналу связи.

[TCP и UDP]

  • TCP: ориентированная на соединение служба, которая передает данные надежным образом. Использует 3-стороннее рукопожатие и 4-стороннее рукопожатие для установления и разрыва соединения. Например, при входе в систему на веб-сайте или передаче файлов используется протокол TCP.
  • UDP: неориентированная на соединение служба, которая не требует сигнализации для передачи данных. UDP не обеспечивает надежности данных, но отличается высокой скоростью обработки. Например, для потоковой трансляции видео или онлайн-игр, где важна скорость передачи, используется UDP.
TheCareer
투잡뛰는 개발 노동자
코딩, 취업, 이직, 경제에 관심 많은 IT 노동자
TheCareer
[История разработчика SI] 12. Технологический стек, часто используемый в проектах SI Разработчики SI в Южной Корее в основном используют технологический стек на основе Java: Spring, Oracle DB, Mybatis, JSP, JavaScript, HTML, CSS, чтобы разрабатывать эффективные и стабильные ИТ-системы. В качестве среды разработки они используют Eclipse. Э

19 апреля 2024 г.

[Неспециалист, выживание разработчика] 17. Портфолио начинающего разработчика, до какого уровня? В портфолио начинающего разработчика лучше сосредоточиться на навыках разработки. Более эффективно не создавать инфраструктуру, а завершить основные функции CRUD и получить опыт интеграции внешних API, например, можно попробовать использовать API входа

3 апреля 2024 г.

[Нетехнический специалист, выживание в качестве разработчика] 16. Советы по составлению портфолио для начинающих разработчиков Начинающим разработчикам (особенно нетехническим специалистам) при составлении портфолио необходимо четко описывать не только технологии, но и разработанные сервисы или функции. Например, если проект — это "Сообщество для ищущих работу", в него следует вк

3 апреля 2024 г.

[Конкурентность] Атомарные операции: Ограждения памяти и порядок памяти В этом посте блога мы рассмотрим, как учитывать порядок памяти в атомарных операциях, и важность опций упорядочения. Мы подробно рассмотрим различные опции упорядочения, такие как Relaxed, Acquire, Release, AcqRel, SecCst, а также их преимущества и недост
곽경직
곽경직
곽경직
곽경직
곽경직

12 апреля 2024 г.

[DB] Настройка кеша Практическое руководство по кэшированию данных, которые часто читаются, но редко записываются. Показываем, как использовать APM, такие как DataDog, для анализа истории вызовов запросов RDB и выбора таблиц для кэширования, где количество запросов на выборк
제이온
제이온
제이온
제이온
제이온

25 апреля 2024 г.

[Объект] Глава 1. Объекты, проектирование Изменяемость и коммуникация важны в разработке программного обеспечения, и для этого необходимо применять объектно-ориентированное проектирование. Объект - это автономное существо, которое самостоятельно управляет своими данными, а хорошая конструкция зак
제이온
제이온
제이온
제이온

28 апреля 2024 г.

Моделирование реляционных данных Моделирование реляционных данных — это процесс разделения информации из реального мира на таблицы и данные, который включает в себя этапы анализа требований, концептуального моделирования данных, логического моделирования данных и физического моделировани
제이의 블로그
제이의 블로그
제이의 블로그
제이의 블로그

8 апреля 2024 г.

[Эффективная Java] Элемент 6. Избегайте ненужного создания объектов Руководство по минимизации ненужного создания объектов в Java. Для неизменяемых объектов, таких как String, Boolean, рекомендуется использовать литералы, а для регулярных выражений – кэшировать экземпляры Pattern. Кроме того, автоупаковка может привести к
제이온
제이온
제이온
제이온

28 апреля 2024 г.

[Javascript] Структура объекта (V8) Объект JavaScript в движке V8 оптимизирован как структура данных в зависимости от состояния. Он может быть переключен в быстрый режим, как структура, или в режим словаря, как хэш-таблица. Быстрый режим быстрый, так как ключ и значение почти неизменны. Од
곽경직
곽경직
곽경직
곽경직
곽경직

18 марта 2024 г.