I applied in-person. The process took 1 day. I interviewed at Digimark Developers (Los Angeles, CA)
Interview
I was interviewed by a panel at Digimark Developers which included 2 senior developers as well as the CTO of the company. The interview was very deep and tech inclusive. It make me to revise all the critical concepts in my mind to answer the questions.
Interview questions [1]
Question 1
Consider the following database table design:
CREATE TABLE `notifications` (
`id` INT NOT NULL AUTO_INCREMENT,
`type` INT(8) NOT NULL,
`notifiable_id` INT unsigned NOT NULL,
`notifiable_type` VARCHAR(10) NOT NULL,
`relation_id_1` INT unsigned,
`relation_type_1` VARCHAR(10),
`relation_id_2` INT unsigned,
`relation_type_2` VARCHAR(10),
`updated_at` TIMESTAMP NOT NULL,
`created_at` TIMESTAMP NOT NULL,
PRIMARY KEY (`id`)
);
What is wrong with the above and how could it be improved?