第一次正式面试,我比面了10次的还不要脸,一直在说不好意思,抠脑壳笑哈哈哈哈,然后又说不好意思聊项目:听说是微服务的,就问为什么要用微服务架构,他的优点和缺点?(答:解耦、灵活、独立部署、但是系统实现和部署会比较复杂)拆分了哪些微服务?(答:订单、商品、首页、搜索、User、、、)你这个项目其实单体也可以解决,你拆分微服务的原则是什么,根据什么拆的?(答:根据功能)各个微服务之间循环依赖怎么解决?讲了半天,没有get到面试官意思。于是给我介绍,可以把服务分成不同层级,只能上级服务调用下级服务,通过这种方式来防止循环依赖。我说我项目中用的MQ进行解耦什么什么的,才发现面试官意思是,问我服务间解耦的方案。然后是问我热度排序怎么实现?zset。zset底层数据结构?我回答跳表。追问:查询时间复杂度是什么?我说ologn。他说其实是O(1)(啊?真的吗)面试官说因为数据结构除跳表,还有hashtable,结合跳表一起实现。然后我就一脸懵逼。追问:那这个时候跳表存在的意义是什么?我说范围查询。他说不对,那普通链表也可以做到呀。然后我就懵了。最后他说正确答案 我忘了。追问:分数相同怎么排序?不知道。面试官说根据字典里的字典序。Spring依赖注入有几种方式?回答:只记得@注解注入和构造器注入。这两者在操作上有什么区别吗?明明依赖注入的时候,我们bean都是采用的private,那spring为什么能注入进去呢?不知道。做题基础不牢的MySQL:student_id, leason_id, score ,class_id1. 查出每个班级英语分数最高的学生2. 查出不挂科的所有学生MySQl写的太捞了,我自己都不好意思继续面了,他跟我说MySQl写不撑展,就跟前端连CSS都不熟练一样,毁灭打击,于是前面的功亏一篑了算法:实现一个 myAtoi(string s) 函数。在main方法的类里,写一个方法用main来调用。结果我方法没有写static。面试官说,那这样main根本调用不了呀。哦哦哦哦哦原来是这样,想钻地。让我写个测试用例12345输入,我还在写system.in什么什么的,跟我说直接调方法输入12345呀。尴尬+++++然后又说为什么不用trim()去除字符串的前导空格,因为我不知道。而且我写出来也不知道这个函数有返回值。感觉面试官说话都说急眼了这辈子都会恨这个函数。算法题主要思路写的算快的,但是处处体现基础确实很不牢固幸亏不要脸不然就不敢面了