Skip to content


Чем смотреть производительность в linux

Софт для мониторинга производительности

Чем мониторить различные подсистемы сервера в linux

.

Размещено в категории Разное.

Нескучные вопросы для IT-собседования

  • Вы ранее привлекались за хранение данных в глобальных переменных?
  • Какой результат выполнения команды git push me and then just touch me till I can get my satisfaction, satisfaction?
  • Найдите точку G бинарным поиском.
  • Назовите свою любимую позу для стендап митинга.
  • Вы когда-нибудь делали .Net за деньги?
  • Сформулируйте зависимость времени исправления критического бага от seniority присутствующего менеджера.
  • В своём резюме вы указали знание php. Вам не стыдно?
  • Есть таблицы customer_id, product_name, purchase_date и набор css правил. Нарисуйте идеальный круг используя только тэг <table>
  • Вы способны довести девушку до оргазма языком программирования?
  • Полиморфизм, конкатенация, многопоточность… продолжите логическую цепочку.
  • Почему люк скайуокер круглый?
  • Какой из циклов быстрее, for, while или правило буравчика?
  • Обоснуйте полноту Javascript по Тьюрингу с позиций фрейдистской школы программирования.
  • Перед вами кисть, холст и мольберт. Напишите компилятор.
  • Расскажите что-нибудь про Pascal.
  • Расскажите о плюсах и минусах автокомплита в сексе.
  • Как часто Вы отбирали sudo на продакшене у разработчика? Через сколько, в среднем, Вы выдаёте его снова?
  • Как часто вы говорите своему коду «ну пожалуйста..»?
  • Перестаньте краснеть и хихикать! Повторяем вопрос: «Вы когда-нибудь ранее использовали LaTeX?»
  • У кого был самый длинный код в вашей прошлой команде?
  • Вы моете руки перед правкой кода на продакшне?
  • Что вызывает у вас бóльшую улыбку: «I have read and agree to the terms and conditions» или подпись под соглашением о неразглашении?
  • В резюме указано, что ваша последняя должность — delivery manager… вы пиццу что ли разносили?
  • А вы в planning poker как предпочитаете играть — на деньги или на раздевание?
  • Насколько сильно у вас развит дар велосипедостроения?
  • Вас раньше обвиняли в попытках программировования?
  • Заступая в должность разработчика, готовы ли вы дать присягу на книге Боба Мартина «Чистый код»?
  • Ну признайтесь уже — джаваскрипт алертами дебажили?
  • Можете ли вы провести аналогию между работой на пятилетнем проекте и проктологией?
  • Что, по-вашему мнению, более эффективно: скопипастить код из примеров или убедить заказчика, что ему не нужна эта фича?
  • push --force, checkout — а какие еще способы разрешения конфликтов вы знаете?
  • Если честно, то нас немного смущает тот факт, что вы искали работу программиста через биржу труда…
  • Согласны ли вы что каждый девелопер должен посадить зрение, построить велосипед и вырастить репозиторий?
  • В своем резюме вы указали, что хотели бы поработать на интересном проекте… Вы этот проект с собой принесли?
  • Правда ли, что смесь php, css, js, html и sql в одном файле имеет слабительный эффект?
  • А есть примеры ваших работ не на перфокартах?
  • Найдите оптимальное решение данной задачи не более чем за 3 запроса в гугл.
  • Согласны ли вы, что у админа должна быть борода, даже если админ — женщина?
  • Скажите, вы когда-нибудь симулировали ООП?
  • Изобразите на языке жестов понятие «полиморфизм».
  • Сколько процентов кода со stackoverflow.com содержалось в вашем последнем проекте?
  • Умеете ли вы «договариваться» с QA накануне релиза?
  • В каких единицах измеряется радиус кривизны кода?
  • Сколько раз в день вы пользуетесь фразой «Не знаю, локально все работает»?
  • Каким вы видите свой код через пять лет?
  • Разрешена ли в нашей стране пропаганда табличной верстки?
  • Как вы относитесь к однополому парному программированию?
  • Как дебажить векторный код на растровых мониторах?
  • Каковы нормативы для показателя lines per gallon для senior software engineer?
  • Спроектируйте отказоустойчивый веб-кластер, используя приставки Dandy и телефоны Nokia.
  • Какова ваша скорость полной сборки-разборки билда?
  • Раскройте геополитические предпосылки kernel panic с точки зрения теории струн.
  • Какую эмоцию вам напоминает смайл O(n) ?
  • Назовите стоимость разработки среднестатистического приложения в килокалориях.
  • Так… вы тут написали «Объектно-ориентированый CSS»… А какие еще проявления шизофрении вам известны?
  • Покупаете ли вы страховку на случай падения вашего кода на продакшене?
  • Какие патерны проектирования детей вы знаете?
  • Какие методологии вы используете при знакомстве с девушками, scrum или agile? Чем они лучше ad hoc в одиночестве?
  • Xbox, PlayStation или Terminal — какую консоль предпочитаете?
  • Вас когда-нибудь запирали в серверной? За что?
  • Какие приемущества force push перед стандартной работой с репозиторием? сколько времени данная методика экономит лично вам?
  • Скажите честно, вы врёте в LinkedIn?
  • По каким внешним признакам разработчика можно определить длину спринта?
  • Вы толерантны к копипастам?
  • «Семь раз update один раз commit» или «семь раз commit один раз revert» — какой методологии вы придерживаетесь?
  • Цикл, условие, переменная — а какие еще термины из С++ вы знаете, чтобы отказать парню?
  • Цой, Ленин, PHP — что между ними общего?
  • Как объяснить джуниору что пинговать сервера в его возрасте – это нормально?
  • Назовите самое экстремальное место в котором вы занимались багфиксингом.
  • Напишите простейшую операционную систему. Уложитесь в 140 символов.
  • Как часто вы играете со шрифтами?
  • В резюме сказано, что вы проработали 10 лет в отделе тестирования майкрософт. Мы проверили — такого отдела не существует!
  • Как вы относитесь к легализации курения мануалов?
  • Размещено в категории Развлекуха.

    Создание swap-файла в файле :)

    Уж простите за тавтологию, но иногда создавать новый дисковый раздел под раздел подкачки (swap) не представляется возможным. В таких случаях можно создать его в виде файла в файловой системе. Для примера рассмотрим создание дополнительного swap-файла размером 8ГБ:

    Дополнительный swap-файл в linux

    Создание дополнительного файла подкачки

    1. # dd if=/dev/zero of=/swapfile bs=1M count=8192
    2. 8192+0 records in
    3. 8192+0 records out
    4. 8589934592 bytes (8,6 GB) copied, 13,2861 s, 647 MB/s
    5.  
    6. # ls -l /swapfile
    7. -rw-r--r--. 1 root root 8589934592 Май 12 11:13 /swapfile
    8.  
    9. # mkswap /swapfile
    10. mkswap: /swapfile: warning: dont erase bootbits sectors
    11.         on whole disk. Use -f to force.
    12. Setting up swapspace version 1, size = 8388604 KiB
    13. no label, UUID=278eca1b-2af8-4e42-be11-5025ba0f3d8d

    Обратите внимание на размер свободного swap-а после первой и второй команд free:

    1. # free; swapon /swapfile ; free
    2.              total       used       free     shared    buffers     cached
    3. Mem:      32867736   30405392    2462344          0     153196    8790844
    4. -/+ buffers/cache:   21461352   11406384
    5. Swap:      8388600       7596    8381004
    6.              total       used       free     shared    buffers     cached
    7. Mem:      32867736   30411360    2456376          0     153196    8790844
    8. -/+ buffers/cache:   21467320   11400416
    9. Swap:     16777200       7596   16769604
    10.  
    11. # echo '/swapfile none swap sw 0 0' >> /etc/fstab

    Размещено в категории *nix. Теги: , .

    MySQL 5.6 и sql_mode

    После переезда с версии MySQL 5.5.13 на 5.6.10 стали вылезать странные грабли.

    Симптом №1:

    1. Caused by: java.sql.SQLException: Incorrect string value: '\xE6\xAF\x94FOX…' for column 'parameter_value' at row 4
    2.         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
    3.         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4190)

    Симптом №2:

    1. Data truncation: Data too long for column 'channel' at row 1
    2. org.hibernate.exception.DataException: could not execute native bulk manipulation query

    Так как «раньше всё работало» и в код приложения никто изменений не вносил, закралось подозрение, что новый mysql работает в каком-то более строгом режиме. Гугление вывело на глобальную переменную sql_mode.

    1. mysql> SHOW global variables LIKE 'sql_mode';
    2. +--------------------------+--------------------------------------------+
    3. | Variable_name            | Value                                      |
    4. +--------------------------+--------------------------------------------+
    5. | sql_mode                 | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
    6. +--------------------------+--------------------------------------------+

    Читаем официальное руководство и видим:

    STRICT_TRANS_TABLES
    If a value could not be inserted as given into a transactional table, abort the statement. For a nontransactional table, abort the statement if the value occurs in a single-row statement or the first row of a multiple-row statement.

    На основе этой инфы приходит в голову мысль, что надо этот режим STRICT_TRANS_TABLES попробовать отключить:

    1. mysql> SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';
    2.  
    3. mysql> SHOW global variables LIKE 'sql_mode';
    4. +---------------+------------------------+
    5. | Variable_name | Value                  |
    6. +---------------+------------------------+
    7. | sql_mode      | NO_ENGINE_SUBSTITUTION |
    8. +---------------+------------------------+

    И таки да, после этого запросы, ранее выполнявшиеся с ошибками, стали отрабатывать нормально, как и было на версии 5.5.13. Чтобы сохранить изменения навсегда, в /etc/my.cnf я добавил в секции [mysqld]

    1. sql-mode="NO_ENGINE_SUBSTITUTION"

    Однако далее меня ждала еще одна засада – после рестарта mysql-сервера я опять увидел знакомую картину, несмотря на внесенные в /etc/my.cnf изменения:

    1. mysql> show global variables like 'sql_mode';
    2. +--------------------------+--------------------------------------------+
    3. | Variable_name            | Value                                      |
    4. +--------------------------+--------------------------------------------+
    5. | sql_mode                 | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
    6. +--------------------------+--------------------------------------------+

    Это было непостижимо и удивительно. Я уже и еще раз проверил hostname у сервера, дабы убедиться, что всё ранее сделанное происходило именно на том сервере, где и должно было происходить. Почесав пару минут репу, решил проверить наличие других конфигов mysql-сервера в системе. И таки нашёл один такой в /usr/my.cnf:

    1. $ cat /usr/my.cnf | grep -vE "^#" | sed -r "/^$/ d"
    2. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    Вот он, вражеский конфиг, который переопределял моё значение sql_mode! Что самое прикольное, больше ничего в этом конфиге не было. Как будто его специально всунули, чтобы добавить мне головняка. После удаления файла /usr/my.cnf и рестарта mysql-сервера я уже раз и навсегда получил возможность наслаждаться значением sql_mode без STRICT_TRANS_TABLES.

    Размещено в категории Howto. Теги: .

    Страница 1 из 43123456789101112...Последняя »