上午八点半后候场,然后九点开始面试。
有很多个面试官,但是全程只有一个面试官提问。我是java技术栈,自我介绍说了两个学习过程中的小项目,然后面试官就追着这两个小项目提问。因为我的有一个项目涉及到并发访问,但是是低并发,面试官就问了如何处理高并发场景。最后面试官说我简历上写了那么多技术,最熟悉的是哪一个,我回答了数据结构和算法,就问了我两个问题:1.图的存储方式;2.最短路径算法。
整个面试过程只有十多分钟
然后中午来短信说下午参加机考,与前面的笔试不同,这次只有两道编程题+一道SQL题(60分钟)。两道编程很简单:
SQL题没写出来,不知道会有SQL题,早知道就复习了。但是下来回忆着写了一下,我觉得应该差不多
CREATE TABLE `user` ( `id` VARCHAR(255) NOT NULL, `name` VARCHAR(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; INSERT INTO `user` VALUES('001','z1'),('002','z2'),('003','z3'),('004','z4'),('005','z5'); CREATE TABLE `work` ( `id` VARCHAR(255) NOT NULL, `s1` VARCHAR(255) NOT NULL, `s2` VARCHAR(255) NOT NULL ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; INSERT INTO `work` VALUES('001','12345678','123'), ('001','123456','123'), ('002','1111111','112'), ('003','151515','111'), ('004','11111','111'), ('005','1111','111'), ('002','1111111','113');
SELECT t1.id,t1.name,IFNULL(t2.TIMES,'0') AS `TIMES` FROM `user` AS t1 LEFT JOIN ( SELECT id,COUNT(id) AS `TIMES` FROM `work` WHERE STRCMP(LEFT(s1,3),s2)!=0 GROUP BY id ) AS t2 ON t1.id = t2.id ORDER BY t2.TIMES DESC,id ASC;SQL题主要考察了:子查询、按多个字段排序、字符串函数用法、连接查询中将结果为null的置为'0'(题目要求是字符串)