10.17亚信安全一面

1.项目细节:token springboot 
感觉项目不熟悉,被拷打得有点不知所措了
2.JUC 并发 线程 Runable thread
*Runnable是接口,Thread是类且实现Runnable接口;
*最主要的区别:一个是接口一个是实现类,常用接口可以避免单继承的局限性外n继承Thread类的方式可能会导致类的局部变量不能正确的被共享。
*在使用Runnable定义的子类中没有start()方法,只有Thread类中才有;
*Thread类,有一个构造方法:public Thread(Runnable targer)
*此构造方法接受Runnable的子类实例,也就是说可以通过Thread类来启动Runnable实现的多线程。
3.JVM栈,堆,new对象的储存方式
*栈:存放基本类型和对象的引用,但对象本身不存放在栈中,而是存放在堆(new出来的对象)或者常量池中(字符串常量对象存放在常量池中。)
*堆:存放所有new出来的对象和数组。
*例如对象 sth=new 一个对象(String)(int)(char),基本类型String int char 与后续对象的引用放在栈,对象本身sth放在堆。
4.hashset 如何去重
hashset实现collection接口,使用hashcode()与equals()方法去重。
5.Redis 实现集成(流程
*SpringBoot集成任何的第三方技术就那么几个步骤,首先导入坐标,然后编写配置,自动注入操作对象完成操作。获取RedisTemplate对象操作Redis的过程
6.MySQL优化,最左搜索
*最左搜索可能会导致索引失效,例如:“%林”可能是陈林,李林等等,无法判断索引的第一个值大小,导致索引失效。
*怎样知道索引失效了?在select语句前添加explain,获得语句执行结果,type字段,如果 是all就是索引失效了。
7.前后端分离,怎样传送数据,明文or密文
*一般是生成RSA的密钥对之后,公钥存储在前端或后端(登录时每次请求后端返回公钥)进行加密,私钥存储在后端用于解密;这里采用固定密钥对的方式。(使用open-ssl)
8.hash加密算法
*哈希Hash加密算法提供MD5加密、SHA-1加密、SHA-2加密、SHA-256加密、RIPEMD-160加密等各种加密工具。
全部评论

相关推荐

点赞 13 评论
分享
牛客网
牛客企业服务