Pull to refresh
74
0
Дмитрий @darkdimius

Компиляторщик

Send message
Ядро слишком разнообразно и многие фичи нужны очень ограниченному кругу лиц. Многие спорны и холиварны(тотже x32 ABI)
Если Вы укажете какие для Вас представляют интерес — может опишу.
На нетбуке у девушки стоит gentoo(вообщето Calculate, но это gentoo :) )
zRam вкомпилирован в ядро. При загрузке ядру передается zram.num_devices=4
Из них используются только 2, с размерами по 768мег(в итоге 3/4 памяти может быть сжато)
созданы файлы
/etc/local.d/zram.start
#!/bin/bash

#modprobe zram num_devices=4

SIZE=768
echo $(($SIZE*1024*1024)) > /sys/block/zram0/disksize
echo $(($SIZE*1024*1024)) > /sys/block/zram1/disksize

mkswap /dev/zram0
mkswap /dev/zram1


swapon /dev/zram0 -p 10
swapon /dev/zram1 -p 10


/etc/local.d/zram.stop
#!/bin/bash

swapoff /dev/zram0
swapoff /dev/zram1


echo 1 > /sys/block/zram0/reset
echo 1 > /sys/block/zram1/reset


/tmp вынесен в tmpfs, с ограничением размера на 1 гиг.
Изменения в скорости работы у девушки пока firefox не сьел всю память незаметны.
После того как сьел — до этого был мягко говоря черепахой, работать было невозможно. После изменения — в реальный swap мало что уходит вообще, вероятно память используемая firefox легко сжимается.
Работает примерно также как tmpfs — откусывает кусок памяти «от имени ядра».
Из интересных подробностей: команды discard\trim это блочное устройство воспринимает примерно также как ssd. Под капотом высвобождаются используемые блоки памяти.
Потому если на блочном устройстве сделать файловую систему не умеющую discard\trim, то освобождаться эта память почти не будет(но вырасти неограниченно она не может, так как вы задали максимальный размер несжатых данных).
да. Он эмитирует usb-клавиатуру.
В предположении истинности Теории Большого Взрыва, вы не правы.
Наша планета удаляется от «центра» взрыва, потому с точки зрения центра, вероятностная картина будет радиально симметрична, но направления «к центру» и от «центра» с нашей точки зрения — явно не равноценны.
Мой однокурсник делал научную работу, в которой из распределения наблюдаемой материи выводил гравитационные постоянные. При равномерном распределении ничего бы не вышло.
Коммичу\выполняю простые операции из IDE.
Что-либо более сложное(начиная от merge) — в консоли.
Возможно, все же стоит указать, что для некоммерческих целей под Linux тут можно получить лицензию на год на всю Intel® Parallel Studio XE 2013.
Все сервера которые не являются у нас облачными — это DELL-ы: 2x R510, 1x R710. Впечатления только положительные. iDrac (удаленная консоль) сэкономила нам много денег и, что важнее, нервов.
Используются для мониторинга и управления различными облаками(scalaxy, amazon). В качестве dns-балансировщиков и просто отдавая различные адреса.
За 4 года были аппаратные отказы и от scalaxy и от amazon и от арендуемых серверов.
За этоже время у одного из DELL-ов раз в жизни деградировал рейд, о чем мониторинг во время сказал. Горячая замена прошла без малейших проблем.

Довольны более чем.
-Если оба других в дауне — считать меня мёртвым (возможно, после пары повторных попыток). Отослать письмо жене.

у одного из трех серверов пропал инет. В итоге до других он не достучался. И письмо уже в очереди на отправку?
Чем занимаюсь отписал в личку.

Как я уже говорил я не ожидаю получить правильный ответ на собеседовании. Каждый из этих вопросов требует отдельного исследования, или же гиканутости чтобы знать на них ответ. У меня нет цели набрать команду гиков и есть сомнения что команда гиков вообще может выполнять поставленные задачи в нужных объемах и в нужные строки.

Эти вопросы я использую как те, которые считаю что должны быть интересны людям в моей команде. Обсуждая с ним эти вопросы я узнаю как мыслит соискатель и будет ли ему интересно со мной и мне с ним.
Ну, если заниматься уже такими подробностями работы процессора, то стоит сказать что на маленьких списках\в хвосте большого списка в случае ArrayList есть возможность что постоянные изменения одних и техже элементов в процессоре проинтерферируют в очереди записи и в память будет отображено только конечно состояние. В случае LinkedList на каждый чих будет выделятся новый обьект-контейнер, потому память будет использоваться разная а значит подобная оптимизация не сработает.
Учитывая что на хабре люди всерьез обсуждают нужно ли высшее образование, то у многих кто выбрал не тратить на него время обучение начинается со случайной точки. И может происходить в хаотическом порядке.

ps:
Я согласен что даже современные курсы алгоритмов в вузах устарели.
Но они являются фундаментом для уже современных курсов, потому я не жалею что выбрал идти в вуз.
Когда вы занимаетесь теоретической разработкой алгоритма нужно говорить, в чем вы исчисляете операции. Говоря O(n) вы подразумеваете что элементарная операция это и есть обнуление одной ячейки. Если считать элементарной операцией такт процессора — думаю вы все еще правы, сложность имеет линейный рост. Но если считать byteCode инструкцию, то очевидно будет O(1). Это как договорится)

Когда вы занимаетесь не теоретической разработкой а практической становятся важны константы.
Например: есть реализации Map для целых чисел со сложностью log log M(при некоторых предположениях но упустим, не суть). Однако на практике константа у них больше и они становятся осмысленны когда количество данных сравнимо с числом атомов в наблюдаемой вселенной.

В данном конкретном случае это сродни System.arrayCopy, но еще быстрее.

офтопик: мне кажется что с использованием программной эмуляции версионирования памяти с помощью Y-fast tries можно добиться сложности log(количество инструкций УЖЕ выполненых програмой). В предположении что время работы вашей программы в целом суб-экспоненциально то это асимптотически быстрее.
Компанию ответил в личку. Я не хочу чтоб люди гугля название компании приходили «подготовленные». Очень неприятно видеть человека, который чтото заучил но не понимает что это такое. Несколько раз попадались люди которые на вопросы про HashMap отвечали сумбурными рассуждениями про «бакеты», но что такое эти бакеты ответить не могли.

Как я уже говорил я ни в коем случае не «требую» умения отвечать на эти вопросы. Это просто вопросы которые мне самому интересно обсудить и которые мне кажется должны вызвать интерес у достойного соискателя. Я не ожидаю правильного ответа и на половину из них, но чаще всего двух-трех подобных вопросов достаточно чтобы у меня сложилось понимание, хочу ли я с этим человеком работать или нет.
Свою схему собеседования я сделал как результат анализа тех которые проходил я. Прошлой зимой-весной зная что мне предстоит вскоре набирать сотрудников я 2-3 раза в неделю ходил на собеседования.

Основным недостатком большинства считаю как раз нерациональное использование времени: задают вопросы ответ на которые прост и однострочен и далее ходят вокруг да около простой темы, задают вопросы которые не отображают реальное состояние вещей, вроде теоретических «какие части кода нужно документировать».

Доходило до идиотизма когда спрашивали StyleGuide java в течении получаса. Лучше бы попросили написать код на любую задачу(да блин хоть сортировку пузырьком). Потратили бы меньше моего времени и больше узнали бы обо мне.

Еще большим идиотизмом было когда собеседующий начинал описывать проект и тратил на это более часа. Либо неся чтото невнятное либо вдаваясь в сугубо технические подробности их реализации элементарных вещей.
Реально оно сильно зависит от платформы и имеет право меняться даже между версиями и запусками одной и тойже JVM.
В свое время когда интересовался проверял: если срабатывает Escape Analysis то аллоцирует на стеке и обнуляет процессорной инструкцией,
иначе оно выделяет в эдеме обьект, и вызывает процессорную инструкцию обнуления.
В моем случае для обнуления вызывалась оптимизированная реализация из SSE.
Обычно если доходит до этого этапа то я вижу что мне интересно с этим человеком и ему со мной.
Потому вопрос не встает.
Если же нам вместе не интересно — я не вижу смысла его нанимать, во всяком случае в мою команду. Атмосфера работы — тоже крайне важный фактор который проверяет такое собеседование.
в Яндексе теперь

Я не работаю в Яндексе.
Я там доучиваюсь, и у меня научрук из Яндекса.
студенты собеседуют сеньёров

Также мне тяжело себя отнести к junior\senior. У меня мало лет опыта, но учитывая что мне интересны алгоритмы и методологии разработки+организации людей, то претендую я обычно именно на позиции начиная с Senior.

Information

Rating
Does not participate
Location
Россия
Registered
Activity