Ключ это несолько другое, хотя если нет технических ограничений можно взять 256. У используемой библиотеки github.com/ricmoo/aes-js прямо в ридми есть пример шифрования с использованием initialization vector, например CBC вариант.
Когда свойства и состояние компонента меняются, React сравнивает предыдущие и текущие свойства и состояния компонента. И только если они неидентичны, компонент-функция перерисовывается.
Думаю стоило бы добавить в стутью это раз уже дело пошло по сути о переводе официальной документации а то те кто «учится» только по подобным статьям упустят важные детали reactjs.org/docs/react-api.html#reactmemo:
By default it will only shallowly compare complex objects in the props object. If you want control over the comparison, you can also provide a custom comparison function as the second argument.
function MyComponent(props) {
/* render using props */
}
function areEqual(prevProps, nextProps) {
/*
return true if passing nextProps to render would return
the same result as passing prevProps to render,
otherwise return false
*/
}
export default React.memo(MyComponent, areEqual);
PS React постепенно добавляет то что в Angular было сделано изначально, видимо Virtual DOM штуковина не стала серебрянной пулей как некоторые почему-то предполагали.
Powerbank с функцией телефона. Не вижу смысла в таких поделках, он ведь даже не защищенный, а в городе такое не нужно где розетка доступна ежедневно. Лучше отдельно взять powerbank когда он нужен. Или если для туристов можно просто набрать больших аккамуляторов и от них питать фонарик и заодно заряжать стройства используя аккамулятурную зарядку с функцией powerbank.
Спекуляции как раз помогают разговорить кандидата в глубину. Очевидно предлагаемый код должен быть компактным, но напичкан множеством явных и не совсем явных и потенциальных проблем, не зависящих от контекста. В то же самое время если кандидат попытается предположить какой был контекст, то это еще лучше. Но я понимаю что такого рода задания на конвеер не поставить что важно при большом потоке канидатов потому что это не чеклист где сразу можно сказать да или нет, а нужно потратить время специалиста на разговор и оценку решения.
Не самые плохие вопросы. А практиковалось ли у вас например давать кусок кода кандидату и попросить его на его усмотрение улучшить качество этого кода (можно даже не писать но пояснить что изменил бы и почему)?
Можно допустим не говорить что там 3 ошибки, а просто дать кусок кода и время минут 30-60 в зависимости от кода и опыта и попросить кандидата улучшить код на его усмотрение. Можно даже улучшение кода не писать, а просто план составить и потом обсудить.
Очевидно это так. Но те кто до сих пор работают с чистым JS ведь согласны все держать в голове, это их путь и ничего нового или неожиданного здесь нет.
Экшены это очень легковесные штуки, будь то константы или бандл констант. Да unionize проявляет себя лучшим образом именно при использовании TypeScript. Сама библиотека совсем легковесная и грузится один раз в vendor бандле, а бандлы экшенов тоже не тяделые совсем. Именно бандлы, логическое деление, тк пихать все в один бандл и потом его везде импортировать было бы неразумно.
Мое мнение что проще почитать здесь кому нужно на русском ru.reactjs.org/docs/react-api.html#reactmemo
PS React постепенно добавляет то что в Angular было сделано изначально, видимо Virtual DOM штуковина не стала серебрянной пулей как некоторые почему-то предполагали.
PS чукча писатель