хадуп дело хлебное, так что возможно и в железку засунутagrippina wrote:Неужели тоже хадуп?Dweller wrote:в железках тоже софт есть, причем непростой
Индусские программисты и индусский код
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: Индусские программисты и индусский код
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Индусские программисты и индусский код
Ну тогда и изначальное условие о сравнении с процессорами тоже сильно видоизменяется. Ведь именно эти операции могут в зависимости от процессора как быть атомарными так и нет.Dweller wrote:Добавил к условию задачи: атомарность операций присвоения и сравнения гарантированаSVK wrote:Да, тогда интересная должна быть разница между процессорами, где байты целого обновляются от старших к младшим, и где - наоборот!8K wrote:и затем печатал не фиксированное сообщение, а то, что лежит в X и Y, я бы ожидал увидеть (в том числе и) промежуточные значения, где часть байтов целого еще не успела обновиться.
Чтобы немного сузить область "тыков в небо"
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: Индусские программисты и индусский код
называть конкретные модели и марки процессоров не надо, главное понимать принципиальные различие в порядке выполнения наборов примитивных операцийМальчик-Одуванчик wrote:Ну тогда и изначальное условие о сравнении с процессорами тоже сильно видоизменяется. Ведь именно эти операции могут в зависимости от процессора как быть атомарными так и нет.Dweller wrote:Добавил к условию задачи: атомарность операций присвоения и сравнения гарантированаSVK wrote:Да, тогда интересная должна быть разница между процессорами, где байты целого обновляются от старших к младшим, и где - наоборот!8K wrote:и затем печатал не фиксированное сообщение, а то, что лежит в X и Y, я бы ожидал увидеть (в том числе и) промежуточные значения, где часть байтов целого еще не успела обновиться.
Чтобы немного сузить область "тыков в небо"
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Индусские программисты и индусский код
Я бы слегка удивился, если бы интервьер мне "гарантировал атомарность операций присвоения и сравнения". Это без указания даже типов переменных. Волшебник что-ли?Dweller wrote:Добавил к условию задачи: атомарность операций присвоения и сравнения гарантированаSVK wrote:Да, тогда интересная должна быть разница между процессорами, где байты целого обновляются от старших к младшим, и где - наоборот!8K wrote:и затем печатал не фиксированное сообщение, а то, что лежит в X и Y, я бы ожидал увидеть (в том числе и) промежуточные значения, где часть байтов целого еще не успела обновиться.
Чтобы немного сузить область "тыков в небо"
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Индусские программисты и индусский код
Так вы полностью и нормально задачу то можете сформулировать? А то не мудрено, что люди такое интервью не пройдут. У меня, кстати, были такие интервью, когда приходилось интервьюеру помогать сформулировать задачу, а то он сам иной раз не особо понимал, чего же спрашивает делать. Вместе задачу формулировалиDweller wrote: называть конкретные модели и марки процессоров не надо, главное понимать принципиальные различие в порядке выполнения наборов примитивных операций
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: Индусские программисты и индусский код
Понятно...Интеррапт wrote:Я бы слегка удивился, если бы интервьер мне "гарантировал атомарность операций присвоения и сравнения". Это без указания даже типов переменных. Волшебник что-ли?
Опять пошел поиск подвохов и усложнение задачи. Пусть тип переменной будет обычный byte из синтаксиса первого кернигановского С v1.0, и остальной код оттуда же.
Разница между процессорами может быть в порядке исполнения инструкций. Вот теперь осталось только нарисовать весь возможный output и объяснить как он образовался.
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: Индусские программисты и индусский код
Это тоже очень важный скиллИнтеррапт wrote:Так вы полностью и нормально задачу то можете сформулировать? А то не мудрено, что люди такое интервью не пройдут. У меня, кстати, были такие интервью, когда приходилось интервьюеру помогать сформулировать задачу, а то он сам иной раз не особо понимал, чего же спрашивает делать. Вместе задачу формулировалиDweller wrote: называть конкретные модели и марки процессоров не надо, главное понимать принципиальные различие в порядке выполнения наборов примитивных операций
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Индусские программисты и индусский код
Ну и что? В том же стандарте напейсано, что любое ненулевое значение будет интерпретировано, как true буде такое понадобится, а не только 1Интеррапт wrote: Почему это? У этой функции есть четко определенные значения, что она должна возвращать. Вот, что говорит C99:
Об чем спор, если есть четкое определение в стандарте?C99, 7.21.4 wrote: The sign of a nonzero value returned by the comparison functions memcmp, strcmp, and strncmp is determined by the sign of the difference between the values of the first pair of characters (both interpreted as unsigned char) that differ in the objects being compared.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Индусские программисты и индусский код
Ну вот и попробуй со своим этим любым ненулевым значением сделать if (то_самое_любое_ненулевое_значение == true) {}АццкоМото wrote:Ну и что? В том же стандарте напейсано, что любое ненулевое значение будет интерпретировано, как true буде такое понадобится, а не только 1Интеррапт wrote: Почему это? У этой функции есть четко определенные значения, что она должна возвращать. Вот, что говорит C99:
Об чем спор, если есть четкое определение в стандарте?C99, 7.21.4 wrote: The sign of a nonzero value returned by the comparison functions memcmp, strcmp, and strncmp is determined by the sign of the difference between the values of the first pair of characters (both interpreted as unsigned char) that differ in the objects being compared.
Не уж, мне удобней в Си (и для меня это правильней), чтобы метод, от которого ожидается булевое значение - возвращал 0 или 1. В своем коде я придерживаюсь этого правило и меня совсем не напрягает написать
return B != 0;
вместо
return B;
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Индусские программисты и индусский код
You are missing my point. Дело не в многопоточности, а в том, что если А и Бэ - произвольные выражения, то такую перестановку, как вы привели, делать нельзя. Ибо вычисление А может влиять на результат вычисления Бэ и наоборот. Именно поэтому и возникает вопрос обо всех допущенияхDweller wrote: Опять же, все дело в контексте. А он у нас связан с простейшим decision tree.
Если бы я хотел многопоточника, я бы спросил что нибудь типа:
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: Индусские программисты и индусский код
Все же ключевое слово decision tree, там А, В, и С это просто переменные, скорее всего из массивов. Т.к. dataset редко когда делается на лету то это просто числа которые откуда то из файла загружаются.АццкоМото wrote:You are missing my point. Дело не в многопоточности, а в том, что если А и Бэ - произвольные выражения, то такую перестановку, как вы привели, делать нельзя. Ибо вычисление А может влиять на результат вычисления Бэ и наоборот. Именно поэтому и возникает вопрос обо всех допущенияхDweller wrote: Опять же, все дело в контексте. А он у нас связан с простейшим decision tree.
Если бы я хотел многопоточника, я бы спросил что нибудь типа:
-
- Уже с Приветом
- Posts: 762
- Joined: 20 Jan 2005 00:27
- Location: La Jolla, California
Re: Индусские программисты и индусский код
И потом он (интервьюирующий) просил вас сделать ему офер ?Интеррапт wrote:Так вы полностью и нормально задачу то можете сформулировать? А то не мудрено, что люди такое интервью не пройдут. У меня, кстати, были такие интервью, когда приходилось интервьюеру помогать сформулировать задачу, а то он сам иной раз не особо понимал, чего же спрашивает делать. Вместе задачу формулировалиDweller wrote: называть конкретные модели и марки процессоров не надо, главное понимать принципиальные различие в порядке выполнения наборов примитивных операций
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Индусские программисты и индусский код
Нет, но иной раз можно составить представление о команде, в которой возможно придется работать. И сделать выводы.Tarasik wrote: И потом он (интервьюирующий) просил вас сделать ему офер ?
-
- Уже с Приветом
- Posts: 2924
- Joined: 01 Apr 2004 04:22
Re: Индусские программисты и индусский код
не Dweller, я вам точно не подхожу, такой код я бы не написала. Да и я все же предпочитаю конторы, где есть конкретика в задачах. Если в обшем описании профиля что-то типа построения генеологоческих деревьев, на интерьвю спаршивают о том, как протестировать процессор и какие они бывают, смогу ли я установит хадооп на кластер (с переменным количеством nodes) и очень интересуются моим опытом в cross-platform development on C# and Windows, this company is too good for me. На самом деле основная задача там наверняка будет - to make your boss happy, а с подобными задачами я обычно справляюсь плохо
вобшем берите индуса с creative resume writing skills
вобшем берите индуса с creative resume writing skills
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Индусские программисты и индусский код
Над этим нужно работатьLjolja wrote:а с подобными задачами я обычно справляюсь плохо
-
- Уже с Приветом
- Posts: 2924
- Joined: 01 Apr 2004 04:22
Re: Индусские программисты и индусский код
да я работаю (не покладая рук), уже не стучу начальство файсом об табле, учу правильные формулировкиИнтеррапт wrote:Над этим нужно работатьLjolja wrote:а с подобными задачами я обычно справляюсь плохо
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Индусские программисты и индусский код
УмницаLjolja wrote:да я работаю (не покладая рук), уже не стучу начальство файсом об табле, учу правильные формулировки
-
- Уже с Приветом
- Posts: 2924
- Joined: 01 Apr 2004 04:22
Re: Индусские программисты и индусский код
осталось написать себе резюме покрасивее и научиться давать правильные ответы на нестандартные ??Интеррапт wrote:УмницаLjolja wrote:да я работаю (не покладая рук), уже не стучу начальство файсом об табле, учу правильные формулировки
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Индусские программисты и индусский код
А зачем вообще в условии может понадобиться совершенно лишнее == true? Чтобы оправдать столь же лишнее !=0?Интеррапт wrote: Ну вот и попробуй со своим этим любым ненулевым значением сделать if (то_самое_любое_ненулевое_значение == true) {}
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Индусские программисты и индусский код
А почему бы и нет? Чем конструкция == true или != true невалидная? Почему бы и не подстраховаться от вероятности того, что тот, кто будет использовать твой код использует != true?АццкоМото wrote: А зачем вообще в условии может понадобиться совершенно лишнее == true?
В более ранних версиях С даже идиому "!!" использовали, чтобы конвертировать значение в 0/1 (без != 0). Типа такого:
Code: Select all
int result() {
int result = 12;
return !!result;
}
Ес-но с C99 стандартом достаточно просто bool использовать, который преобразует сам в 0 и 1.
Code: Select all
#include <stdio.h>
#include <stdbool.h>
bool result() {
return 12;
}
int main(void) {
printf("%d\n", (int)result());
return 0;
}
Как видишь, даже в стандарт добавили преобразование из любого ненулевого числа в 1 для bool. И только ты упрямишься
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Индусские программисты и индусский код
Там три раза было на самом делеAlbert_al wrote:agrippina wrote:Джимми-джимми. Ача-ача.
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: Индусские программисты и индусский код
Про процессоры я не спрашиваю на эту позицию Просто привел пример по поводу многопоточности.Ljolja wrote:Если в обшем описании профиля что-то типа построения генеологоческих деревьев, на интерьвю спаршивают о том, как протестировать процессор и какие они бывают, смогу ли я установит хадооп на кластер (с переменным количеством nodes) и очень интересуются моим опытом в cross-platform development on C# and Windows, this company is too good for me.
Упомянуть построение генеалогических деревьев - обычная обязаловка от HR. C# - good to have, от них же
Last edited by Dweller on 30 Jan 2013 19:47, edited 1 time in total.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Индусские программисты и индусский код
Конструкция А == true не то, чтобы невалидна, она просто эквивалентна А. А!=true эквивалентна !А. Причем эквивалентна именно если считать true равным любой ненулевой величине, а если считать 1, то как раз вылазят нюансы. Так зачем усложнять?Интеррапт wrote: А почему бы и нет? Чем конструкция == true или != true невалидная? Почему бы и не подстраховаться от вероятности того, что тот, кто будет использовать твой код использует != true?
Мы же не пишем (i++)-=2; для декремента, верно? хотя в целом кострукция более чем валидная.
Конечно, против моей религии тоже можно придумать, что типа if (A==B) где нам надо чтобы либо и то и другое истина, либо оба ложны - то мне придется писать if ((A&&B)!!(!A&&!B))
Но это и не так уж плохо, на самом-то деле.
Ну а самое главное - не все разделяют религию возвращать в точности 1 вместо true. соответственно, есть риск пропереться с чужим кодом. Риск пропереться с олдскульным подходом - минимален.
Не, это совсем другое. Использовать bool - кошерно, а хранить бул в интах используя только 0 и 1 - очень спорно, имхо. Особенно, когда нет возможности сказать "да будет так по всему проекту, включая все используемые либы"Интеррапт wrote:Как видишь, даже в стандарт добавили преобразование из любого ненулевого числа в 1 для bool. И только ты упрямишься
Иными словами - хочется, чтобы true==1 - надо использовать bool. Используешь int для булевых по сути значений - не предполагай, что true==1
Так говорил Заратустра
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Индусские программисты и индусский код
В твоем случае нет, если мы все еще предполагаем, что true == 1.АццкоМото wrote: Конструкция А == true не то, чтобы невалидна, она просто эквивалентна А.
Ну кто бы спорил, что языковой bool использовать самое правильное Но уж если мы имеем дело с pre-C99 кодом, в котором bool реализовано на интах, то я считаю правильней компилятору решать, как именно должен выглядеть true для данной системы/архитектуры. И самое правильное будет return result != 0 или там return !!result; По крайней мере в своем коде я всегда так делал. Ну или на enum.АццкоМото wrote: Не, это совсем другое. Использовать bool - кошерно, а хранить бул в интах используя только 0 и 1 - очень спорно, имхо. Особенно, когда нет возможности сказать "да будет так по всему проекту, включая все используемые либы"
Иными словами - хочется, чтобы true==1 - надо использовать bool. Используешь int для булевых по сути значений - не предполагай, что true==1
Так говорил Заратустра
Впрочем, с появлением C99 - это спор не имеет особого смысла.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Индусские программисты и индусский код
Ну я ж сделал на этот счет оговорку. С другой стороны, в pre-C99 и слова-то такого true кагбэ и нет. вечно задефайнено в 100500 местах проекта, причем по-разному. где-то 1, где-то 0xFFFF, где-то как -1, а где-то как какой-нибудь MAX_STUPID_COMPANY_UINT32Интеррапт wrote: В твоем случае нет, если мы все еще предполагаем, что true == 1.
так что в любом случае сравнение с true в pre-C99 - сомнительное мероприятие
Ну, дело вкуса. Но я бы компилятору не доверял, он такой выдумщик. Да и система с архитектурой тут не при чемИнтеррапт wrote:Ну кто бы спорил, что языковой bool использовать самое правильное Но уж если мы имеем дело с pre-C99 кодом, в котором bool реализовано на интах, то я считаю правильней компилятору решать, как именно должен выглядеть true для данной системы/архитектуры. И самое правильное будет return result != 0 или там return !!result; По крайней мере в своем коде я всегда так делал. Ну или на enum.
А вот это - точно. Так, языки почесатьИнтеррапт wrote:Впрочем, с появлением C99 - это спор не имеет особого смысла.
Мат на форуме запрещен, блдж!