Система знаний
Не много чепухи, на то, чтобы наконец написать, ушло 2 часа, ниже представлена система знаний А Куана, заинтересованные друзья могут обратиться к ней,👏 Приглашаем всех проверить и заполнить пробелы, а также подарить друг другу Ао Ли.~
Я всегда чувствую, что не хватает, чтобы узнать.Я надеюсь, что каждый может дать мне некоторые предложения и дополнения, или если я что-то не так написал, пожалуйста, укажите 🤝
Это точка знаний, к которой я могу относиться до сих пор, некоторые из которых не прописаны, я чувствую, что у меня достаточно, чтобы съесть горшок, я потерял его, каждый может добавить его 👏 Продолжайте нажимать на очки знаний, долг не будет слишком тяжелым~
Если вам нужен исходный файл Xmind, зайдите на мой Github для скачивания, у меня нет своего сервера, а сетевой диск Baidu лень это делать, так что все, адрес портала для скачивания: 👉Свод знаний Акуана PNG,Акван знаний XMind
Я чувствую, что будет публичный аккаунт
xmind
Загрузите его, затем измените имя на свое, а затем подпишитесь на официальный аккаунт и присоединитесь к группе, чтобы получить подробную систему знаний о интерфейсе.Я хочу сказать, вы можете изменить его, если хотите, и сказать что-то в комментарии area: "Брат, я позаимствовал твой. Xmind ha", в конце концов, я тоже много работал над его организацией, так что передай привет~
основы программирования
HTML
- SEO
- Встроенные элементы/элементы блочного уровня
- семантическое понимание
CSS
- Новые возможности CSS3
- Очистить несколько способов плавающих
- коробочная модель
- Гибкая компоновка
- Принцип БФК
- позиционирование позиции
- Несколько способов центрирования по горизонтали и вертикали
- Вес приоритета CSS
- переход / анимация разница
- граница: нет/граница: 0 разница
- display:none/visibility: hidden/opacity: 0 разница
Javascript
-
встроенные объекты
-
typeof
-
instanceof
-
преобразование типов
-
new
-
this
-
Закрытие
-
Прототипы и цепочки прототипов
-
контекст выполнения
-
Среда выполнения и область применения
-
глубокая копия
- глубокая копия
- мелкая копия
-
Защита от тряски и дросселирования
- Овладейте принципом
- Руки
-
модульный
- CommonJS
- AMD
-
наследовать
- Наследование цепочки прототипов
- Заимствование наследования конструктора
- наследование композиции
- прототипное наследование
- паразитарное наследование
- Паразитарная композиционная наследование
- Наследование классов в ES6
-
позвони, привяжи
- Овладейте принципом
- Как реализовать функцию связывания и вызова вручную
-
пусть, константа, вар
-
Принцип обещания и реализация
-
Принцип генератора и реализация
-
Async/Await
-
Карта, Установить, Плоская карта, Уменьшить
-
Proxy
-
0.1 + 0.2 !== 0.3
Основы браузера
механизм события
- Событие включает три стадии
- Проблема с регистрацией
- Делегат мероприятия / Делегат мероприятия
перекрестный домен
-
JSONP
- Практическая реализация JSONP
-
CORS
- Есть ли разница между GET/POST
-
Nginx
- Знания, такие как расширенная балансировка нагрузки
-
PostMessage
-
document.domain + iframe
место хранения
- куки, localStorage, sessionStorage, indexDB
- service worker
Event Loop
- Цикл событий в узле
- Цикл событий в браузере
Принцип рендеринга в браузере
-
Разница между Load и DOMContentLoaded
-
HTML Tree / CSS Tree
-
перерисовывать, перерисовывать
-
Как уменьшить перерисовку reflow
- Какие свойства CSS вызывают перерисовку при перерисовке
сеттаймаут, сетинтервал
Основы сети
пятиуровневый протокол
- прикладной уровень
- Транспортный слой
- Сетевой уровень
- канальный уровень
- физический слой
протокол PPP
Протокол CSMA/CD
Протокол разрешения адресов ARP
ICMP Протокол контрольных сообщений Интернета
Протокол пользовательских дейтаграмм UDP
- Ненадежный
- ориентированный на сообщение
- эффективный
- способ передачи
Протокол управления передачей TCP
-
Первый формат
- серийный номер
- Номер подтверждения
- смещение данных
- Подтвердить подтверждение
- Синхронизировать СИН
- Прекратить FIN
- окно
-
Государственный аппарат
- Установить связь трехстороннего рукопожатия
- Разорви связь и помаши четыре раза
-
протокол ARQ
- хватит ждать ARQ
- Последовательный ARQ
- Накопленное подтверждение
-
раздвижное окно
- Нулевое окно
-
обработка перегрузок
- алгоритм медленного старта
- Алгоритм предотвращения перегрузок
- быстрая ретрансляция
- быстрое восстановление
Разница между UDP и TCP
HTTP
-
Общие коды состояния
- 2xx
- 3xx
- 4xx
- 5xx
-
Поля заголовка HTTP
-
Разница между POST и GET
HTTPS
- TLS
- Отличие от hTTP
HTTP2.0
- бинарная передача
- мультиплексирование
- Сжатие заголовка
- Сервер Push
- QUIC
- Отличия от HTTP1.0 и HTTP1.1
DNS
-
Можно ли отправить DNS с помощью TCP?
- Условие выполнено: возвращенный ответ превышает 512 байт.
- Условие: Зональная телепортация
-
передача зоны
- полная передача зоны
- Инкрементальная передача зоны
-
Процесс разрешения DNS
-
На локальном хосте есть сопоставление, и парсинг заканчивается
-
Нет сопоставления для локального хоста
-
Запрос локального DNS-сервера
-
На локальном DNS-сервере есть кеш, и разрешение закончилось
-
Локальный DNS-сервер не имеет кеша
- итеративный запрос
- рекурсивный запрос
-
-
-
-
Принцип преобразователя DNS
- Парсер библиотеки сокетов
-
DDNS, технология NAT, проникновение во внутреннюю сеть
-
CDN
-
Балансировка нагрузки DNS
-
DNS угона, как это предотвратить
От входного URL до загрузки страницы
- Информация о хосте конфигурации DHCP
- ARP разрешает MAC-адреса
- DNS разрешает доменные имена
- HTTP-запрос, трехстороннее рукопожатие TCP и четыре волны
- Получите HTML-документ и введите процесс принципа рендеринга браузера
разработка программного обеспечения
Git
- remote
- тяни-Толкай
- тайник, перебазировать
- сливаться, вишня
- рефлог, сброс
xshell
Команды Linux
Конфигурация Nginx
хост изменить конфигурацию
структура библиотеки классов
Vue
-
Принцип маршрутизации
-
государственное управление
- Принцип Vuex и основная идея исходного кода
-
ядро фреймворка
-
VDOM
- Зачем нужен виртуальный DOM
- Краткое введение и практика алгоритма виртуального DOM
-
MVVM
- обнаружение грязных данных
- захват данных
- Прокси против Object.defineProperty
-
Жизненный цикл
-
новый экземпляр Vue()
-
Инициализация функции init ()
-
наблюдение за данными beforeCreatecreated
-
создал и передмонтировал, скомпилировал
-
parse
- Регулярно анализируйте инструкции в шаблоне шаблона для создания абстрактного дерева синтаксиса AST.
-
optimise
- Отметьте статические статические узлы, процесс пути, пропустите статические узлы различий, оптимизируйте производительность исправления
-
generate
- Процесс преобразования абстрактного дерева синтаксиса AST в строку render function().
-
-
Между beforeMount и Mounted добавьте элемент $el в объект экземпляра vue и замените смонтированный элемент DOM.
-
Перед обновлением и обновлением, когда данные изменяются, измените представление через процесс установки -> наблюдатель -> процесс обновления и используйте механизм исправления для вычисления разницы с помощью алгоритма diff.
-
Функция ловушки beforeDestory вызывается перед уничтожением экземпляра.
-
-
принцип nextTick
-
macrotasks
- setImmediate
- MessageChannel
- setTimeout
-
microtasks
- Promise
-
-
Принцип алгоритма сравнения
-
принцип часов
-
Разница между вычисляемым и методами
-
React
-
государственное управление
-
Redux
- Интерпретация исходного кода и искусство программирования
- Зачем возвращать новый магазин
-
Хокс (расширенное понимание)
- Интерпретация исходного кода и дизайнерские идеи
- С хуками следующее поколение управления состоянием реагирования
-
react-redux
- Принцип провайдера
- Принцип соединения
-
-
Связанное понимание
- что такое промежуточное ПО
- redux-thunk
- redux-saga
- redux-logger
-
Жизненный цикл
- первый рендер
- фаза обновления
- этап удаления
-
setState
-
синтетическое событие
-
Хуки часть принципа API
- useEffect
- useState, useMemo
- useCallback, useRef
-
Разница между компонентами класса и компонентами без состояния
-
Внутренний принцип shouldComponentUpdate
Аспекты безопасности
XSS
- как атаковать
- как защитить
- CSP
CSRF
-
как атаковать
-
как защитить
- SameSite
- Token
- Проверить реферера
защита паролем
- С солью
структура данных
-
Куча
-
очередь
-
связанный список
-
Дерево
-
куча
алгоритм
-
временная сложность
-
битовая операция
- сдвиг влево
- Арифметический сдвиг вправо >>
- побитовая операция
Сортировать
- Пузырьковая сортировка
- быстрая сортировка
- сортировка выбором
- Сортировка слиянием
- сортировка кучей
связанный список
- Обратный односвязный список
Дерево
-
Предварительный порядок, обратный порядок и обратный порядок двоичного дерева
-
Предыдущий и последующий узлы в порядке обхода
-
глубокий обход дерева
- DFS
- BFS
динамическое программирование
- Фейболаки количество столбцов
- 0-1 Проблема с рюкзаком
- самая длинная возрастающая подпоследовательность
Общие шаблоны проектирования интерфейса
-
одноэлементный шаблон
-
модель публикации-подписки
-
прокси-режим
-
Режим политики
-
Шаблон декоратора
-
режим адаптера
-
Модель цепочки ответственности
оптимизация производительности
Связанные с сетью
-
Предварительное разрешение DNS
-
тайник
- Сильный кеш
- Согласовать кеш
- Выберите подходящую стратегию кэширования
-
HTTP2.0
-
Предварительная загрузка
-
предварительный рендеринг
Оптимизация процесса рендеринга
- ленивая загрузка
- ленивое выполнение
оптимизация файлов
-
Оптимизация изображения
- Рассчитать размер изображения (сжатие)
- Оптимизация загрузки изображений
-
Другие оптимизации файлов
-
CDN
разное
- Проект оптимизации Webpack
- монитор
Webpack
-
В отличие от хрюканья и глотка
-
нагрузка по требованию
-
Принцип горячего обновления
-
Как настроить одностраничный, многостраничный
-
Common Loader, какую проблему решить
-
Распространенные плагины, какие проблемы они решают
-
Создание процесса, как улучшить скорость сборки
-
Как использовать webpack для оптимизации производительности
-
В чем разница между webpack-dev-сервером и nginx
Мягкие навыки
-
Узнайте больше об основах и расширьте свои знания
-
Выучите немного английский, читайте документы на английском
-
Прежде чем что-то делать, рисуйте идеи и проекты
- Научитесь рисовать блок-схемы, прототипы диаграмм и т. Д.
- Модульность, общие компоненты и т. д., прежде чем это делать, хорошо подумайте, сделайте обзор и дизайн-документ
-
Список ежедневных задач, придерживайтесь ежедневных и ежемесячных отчетов
-
Отразить и организовать
-
вклад сообщества
- Настаивайте на качественном выпуске статей каждый месяц
- Многие посетители, Github и т. Д., Активно упоминают проблемы, слияние запроса
-
Здоровый
- фитнес два раза в неделю
- баскетбол раз в неделю
будущее расширение
-
микро интерфейс
-
TS
-
WebGL
-
WebAssembly
-
Мультитерминал (umi-app/taro/weex)