Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
— Так какой в этом смысл? Интерфейс содержит только сигнатуры методов, в итоге в классе все равно нужно будет заново объясвить эти методы и написать их код. Зачем такое наследование вообще нужно?
Через абстрактные классы можно тоже использовать систему без проблем.
Интерфейс вполне может быть соглашением на расширение системы.
Интерфейс не принадлежит классу и ничего не знает о классе. Значит он не может указывать как использовать данный класс.
Создание интерфейсов, цель которых упросить работу со сложным внешним интерфейсом класса — вероятно не верное использование интерфейсов.
И интерфейс тоже является указанием, как расширять с помощью его наследников.В интерфейсе нет указания того как расширять класс. В абстрактном классе есть — это абстрактные методы.
Но ведь разработчик пользуется вовсе не классом, а просто объектом, который поддерживает данный интерфейс. Более того класс там может быть любой и даже может поменяться. Как же можно при этом говорить, что интерфейс указывает разработчику как использовать класс, если он (разработчик) может даже не догадываться о его (классе) существовании.
Под разработчиком я понимаю конечность какой то код — который использует интерфейс.Код ради кода? Я говорю про людей, которые работают с кодом.
Видимо я просто неправильно понял что такое тайпхинтинг. Никогда не слышал про такой термин.Контракт аргумента метода/конструктора.
Не могли бы Вы пояснить что это?
class MyClass {
constructor(service: IHintingClass) {
// ...
}
}
Ну скажите какая принципиальная разница для класса что именно реализовывать — абстрактный метод или метод интерфейса? Между ними вообще хоть какая то разница есть?
interface IStackSorter {
setStack(stack: IStack);
getSortedStack(): IStack;
}
abstract class AStackSorter implements IStackSorter
{
//...
abstract private sort(a: IItem, b: IItem): Boolean
}
interface IStackSorter {
setStack(stack: IStack);
getSortedStack(): IStack;
}
interface AStackSorter {
private sort(a: IItem, b: IItem): Boolean
}
Т.е. по вашему графический элемент не должен иметь своего, например, фона одновременно с возможностью быть, например, перемещенным по сцене? Вот это точно странно.
element.addEvent({ click: function () {} });
element.events.add({ click: function () {} });
declare( 'Item', {
initialize: function (layer, shape) {
this.layer = layer;
this.shape = shape;
this.events = new Events(this);
this.draggable = new Draggable(this);
},
isTriggerPoint: function (point) {
if (this.shape instanceof Line) {
this.shape.distanceTo( point ) < 10;
} else {
this.shape.hasPoint(point);
}
},
renderTo: function (ctx) {
ctx.fill( this.shape, 'red' );
}
});
Print out the numbers 1 to 100. Where the number is a multiple of 3, print ‘Fizz’, otherwise if it is a multiple of 5 print ‘Buzz’. If the number is a multiple of 3 and 5, print ‘FizzBuzz’.
70% кандидатов бросаются решать задачу с такой первой строчкой: for(int i=0;iя не понял. Мне покзаалось, что вам это не нравится. Не понятно — чем?
росто ответив на эти два вопроса, человек может показать программирует он что либо для себя или просто сидит и ждет, когда попадет на работу
BaseClass obj = new ConcreteClass();
BaseInterface obj2 = new ConcreteClass();
(я давно живу в стране, где слово «Вы» — по вполне разумным причинам — давно изжито),
И, это… устраиваться на позицию, требующую знаний, которых у тебя пока нет, куда интереснее, чем крутиться в одном и том же забеге крысинных бегов.
MOV -(PC),-(PC)
Меня раздражала фамильярность: люди думают будто начальству все можно…
Меня больше всего всегда раздражали вопросы, которые полностью и подробно описаны в резюме — будто их не читали
Не так давно я начал искать работу на позицию junior разработчика. Даже благодаря моему скромному резюме мне удалось побывать на не малом количестве собеседований за сравнительно малый промежуток времени.
Если он хочет устроиться именно к вам
еще лучше если ему расскажут что из него выйдет через год – полтора работы на данной должности
Но я ни разу не был на собеседовании, на котором спрашивали все, то что указано в вакансии, зато меня не раз спрашивали по всему поему CV, где половина всего вообще никак не связана с желаемой должностью. К сожалению, так бывает в большинстве случаев. Здесь возможны 2 варианта, либо компания не понимает кто ей нужен, либо ей подходят абсолютно все и вакансию HR набросал копи пастом за 10 минут.
Google/Yandex/Bing не выдают одинаковые результаты кандидатам на вакансию и людям проводящим собеседование
В больших компаниях все проще. Все знают, что там пересмотр зарплаты 2 раза в год. К тому же, крупные компании, как правило, готовы сразу платить неплохие деньги на junior позиции. По крайней мере туже средне рыночную ЗП там можно просить без зазрения совести. Просто поскольку крупная компания может себе позволить вложить в вас деньги авансом.
Сколько знаю крупных компаний (что профильные софтверные, что непрофильные типа банков с крупными айти-отделами), там лишние 5к рублей надбавки получить практически не возможно.
Формально да, пересмотр зарплаты есть. Для этого нужно заполнить унизительную форму самооценки. Типа что вы сделали полезного для компании за прошедший год.
Что унизительного в том, чтобы ответить на вопрос, почему ваша работа теперь стоит дороже, нежели полгода тому?
Собеседование на junior позицию. Антипатерны собеседующих