记录一次某龙信息的一次电话面试
目录
首先这个面试电话前一天就打来了,没有接听到,后面也是没有回复,主要原因在于现在还是在职状态,负责的项目时常有线上的电话打来,咨询一些项目上的事情再所难免,所以也就没有在意(再次提醒广大找工作的朋友们,如果已经投递了某家公司,最好保持电话畅通)
下面是电话面试的经历:
面试官:看你的简历你之前是做实施的吗?还是开发的
我:我实施主要是项目上线后,我去现场做的,目前主要是做开发的,你拿到的简历应该是比较旧
面试官:你们项目中使用的框架是什么
我:我们项目使用的自研的框架,其实就是和ssh框架是一样的
面试官:你使用过哪些数据库,看你的简历使用的是国产数据库还挺多的
我:这些数据库和mysql和orcle查不多的
面试官:你能说说数据库中的索引吗
我:(内心:我擦,不会,这可怎么整)我们对需要的字段设置索引(其实我不知道他要问什么,总之自己还是太菜了,对索引这块瞎着尼)
面试官:。。。你对springboot和springcloud知道吗?
我:项目中使用的不多,springboot还是比较常用的
面试官:你能说说springboot中的注解吗?
我:controller requestmapping....
面试官:你能说说restcontroller 和controller的区别吗
我:一个返回json串一个不返回。。。大概就这个意思吧
面试官:你知道restcontroller的实现吗
我:是两个注解的合并。。。(不知对否)
面试官:你们项目中使用的jdk几。
我:1.8
面试官:那你能说说1.7-1.8做了哪些变动
我:主要是lambda表达式和hashmap的变化(给自己挖了一个坑)
面试官:说说hashmap的变化吧
我:。。。没说出啥
面试官:说说你们项目中使用的集合吧
我:list 数据 map
面试官:list是线程安全的吗
我:大概是吧(太菜哈哈哈)
面试官:说说string stringbuilder stringbuffer的区别吧
我说:string拼接会创建一个新的对象,其他的则不会
面试官: stringbuilder 和stringbuffer那个是线程安全的
我:才一个(看过忘记了)
面试官:说说文件的上传吧
我:使用httprequest 和mutipartfile上传文件,并解析,如果是excel直接使用poi解析存储即可
总结:
- 考察了字符串的拼接的相关的string stringbuilder stringbuffer
正解:
- String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
线程安全StringBuffer,线程不安全使用 StringBuilder (效率高一些)
- springboot的注解
- 在Spring中@RestController的作用等同于@Controller + @ResponseBody。返回的是json串
- @Controller + @RequestMapping返回的是一个视图
- RequestMapping可以注解在类上也可以注解在方法上,类上加一层地址
- ResponseBody直接返回json串
- 数据库索引
- 索引是什么:对数据库的一列和多列进行排序的数据结构
- mysql数据库的索引的类型:普通索引(非聚簇索引)、唯一索引(每一行数据的唯一性)、主键索引(聚簇索引)、全文索引
哈希索引的劣势:哈希索引适合等值查询,但是无法进行范围查询 ;哈希索引没办法利用索引完成排序;哈希索引不支持多列联合索引的最左匹配规则 ;如果有大量重复键值的情况下,哈希索引的效率会很低,因为存在哈希碰撞问题
聚簇索引的数据和索引的顺序是一致的,适合排序。非聚簇索引适合插入不适合排序,数据和索引的顺序不一样
全文索引:索引程序,分词程序,数据库,感觉有点像使用Lucene的建立索引
全文索引的使用方法
创建全文索引: 不用全文索引时的写法:SELECT * FROM article WHERE content LIKE ‘%查询字符串%’; 使用全文索引:SELECT * FROM article WHERE MATCH(title,content) AGAINST (‘查询字符串’);
- 集合相关hashmap和list
- list:List集合代表一个元素有序,可重复的集合
- ArrayList是线程不安全的,Vector是线程安全的
- hashmap:待续
- 文件的上传
- 表单中使用enctype="multipart/form-data" method="post"
- 为保证服务器安全,上传文件应该放在外界无法直接访问的目录下,比如放于WEB-INF目录下。
- 为防止文件覆盖的现象发生,要为上传文件产生一个唯一的文件名。
- 为防止一个目录下面出现太多文件,要使用hash算法打散存储。
- 要限制上传文件的最大值。
- 要限制上传文件的类型,在收到上传文件名时,判断后缀名是否合法。
感觉到了自己的基础知识的不足