亚信科技实习一面
- 简单的自我介绍
- 你做的项目是自己独立开发的吗? 答:在使用框架的基础上,独立进行全栈开发,目前项目已经给大一的学生去打比赛了,要尽可能保持原创性,故独立开发且没有过于参照市面上的项目,系统架构均为自己设计实现。
- 项目中是否用到了redis? 答:由于数据量较少,没有用到,不过了解一些redis。
- redis的五中基本数据类型: 答:string、hash、set、zset、list。
- 项目中用到了哪些数据结构? 答:数据结构的使用主要体现在集合框架上。根据需求,要对某表中的多个字段进行去重,如果用sql处理则逻辑有些麻烦,并且MySQL是将数据存储在外存上的,频繁实现跨io操作会影响性能,而数千数据不值得用redis。因此,将表中字段直接读取,在service层中使用set进行去重,实现多个字段的分组统计。此外,项目中需要统计某些属性及其数量,则使用HashMap集合进行<key,value>类型的存储。也就是说,在service中将set与map结合,只是用一次跨io操作,即可实现需求。(尽可能有什么说什么了,往外拓展了)
- 事务的四大隔离级别? 答:大体上跟“读”“写”“提交”“重复读”等内容有关,那四个具体叫什么记不住了,实际开发中也确实没有自己应用过。(我太菜了)
- MySQL索引失效形式? 答:如果设置了联合索引,则是否走索引遵循最左原则,如果左面不满足触发索引的条件,则索引失效;如果对某表查询,要查询的数据量接近全表的数据量,则不会走索引,因为这样的情况即使走索引也不会提升很多效率,甚至不会提升;再就是对多个字段进行查询,如果要查询的字段中出现二级索引,在开发中没有对其设置恰当的联合索引,那么这个字段作为二级索引,需要经过回表查询,去访问聚簇索引,这样的话同样没有达到优化作用。 (答了三点,答的不行)
- 你使用过前端框架吗? 答: 能够使用Vue整合前端,习惯使用Vue-ElementUI 脚手架进行前端的渲染,擅长使用Echarts生成动态图表和动态中国地图,传入key-value值对中国地图进行渲染,实现大数据可视化平台的开发。
- 反问。
PS:面试官很友好,第六点还告诉我答案了。。发挥还是不行,实力还需要大幅度提升。。。