网站建设完成的时间,做哪种网站赚钱,可以做推文的网站,徐汇品牌网站建设之前整理了好几期#xff0c;我面试时遇到的面试候选人#xff0c;我是如何我去筛选的#xff0c;这一期#xff0c;我们来看下一些 面试常问的业务性的问题 你们公司权限认证是如何实现的? 这其实是个通用性的问题#xff0c;大部分公司 小型公司#xff0c;或者中型公… 之前整理了好几期我面试时遇到的面试候选人我是如何我去筛选的这一期我们来看下一些 面试常问的业务性的问题 你们公司权限认证是如何实现的? 这其实是个通用性的问题大部分公司 小型公司或者中型公司都有权限认证作为一个开发人员大家或多或少都应该接触过一切所以会去问下开发人员是否接触过 如果开发 人员没有接触过那么就会抱着好奇的角度去问他如果在此项目的基础上 加上一个 权限认证你会如果去设计 简单设计 框架 shiro spring security 详细设计 系统菜单 系统角色 菜单角色表 用户对应的角色 用户信息
其实说白了大家可以理解为就是一个 联表的关联查询 通过 标识 已经角色关联的id 去进行 权限的 控制 最后加入了一张中间表串联起来 当然还有很多优化的空间
上传数据的安全性你们怎么控制
对称加密 文件加密和解密使用相同的密钥即加密密钥也可以用作解密密钥 解释: 在对称加密算法中数据发信方将明文和加密密钥一起经过特殊的加密算法处理后使其变成复杂的加密密文发送出去收信方收到密文后若想解读出原文则需要使用加密时用的密钥以及相同加密算法的逆算法对密文进行解密才能使其回复成可读明文。在对称加密算法中使用的密钥只有一个收发双方都使用这个密钥这就需要解密方事先知道加密密钥。
优点: 对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。 缺点: 没有非对称加密安全. 用途 一般用于保存用户手机号、身份证等敏感但能解密的信息。 常见的对称加密算法有: AES、DES、3DES、Blowfish、IDEA、RC4、RC5、RC6、HS256
非对称加密
两个密钥公开密钥publickey和私有密钥公有密钥加密私有密钥解密 解释: 同时生成两把密钥私钥和公钥私钥隐秘保存公钥可以下发给信任客户端. 加密与解密: ● 私钥加密持有公钥才可以解密 ● 公钥加密持有私钥才可解密 签名: ● 私钥签名, 持有公钥进行验证是否被篡改过. 优点: 非对称加密与对称加密相比其安全性更好 缺点: 非对称加密的缺点是加密和解密花费时间长、速度慢只适合对少量数据进行加密。 用途 一般用于签名和认证。私钥服务器保存, 用来加密, 公钥客户拿着用于对于令牌或者签名的解密或者校验使用. 常见的非对称加密算法有 RSA、DSA数字签名用、ECC移动设备用、RS256 (采用SHA-256 的 RSA 签名) 面试题上传数据的安全性你们怎么控制 使用非对称加密或对称加密给前端一个公钥让他把数据加密后传到后台后台负责解密后处理数据
生产问题怎么排查?
1先分析日志通常在业务中都会有日志的记录或者查看系统日志或者查看日志文件然后定位问题解决问题 2如果问题较为复杂情况就可能会有多种可能是代码的问题也有可能是数据的问题
3远程debug
特别注意通常公司的正式环境生产环境是不允许远程debug的。
一般远程debug都是公司的测试环境方便调试代码 实现步骤
前提条件远程的代码和本地的代码要保持一致
①远程代码需要配置启动参数 把项目打包放到服务器后启动项目的参数
java -jar -agentlib:jdwptransportdt_socket,servery,suspendn,address5005 project-1.0-SNAPSHOT.jar-agentlib:jdwp 是通知JVM使用(java debug wire protocol)来运行调试环境 transportdt_socket 调试数据的传送方式 servery 参数是指是否支持在server模式 suspendn 是否在调试客户端建立起来后再执行JVM。 address5005 调试端口设置为5005其它端口也可以 ②idea中设置远程debug 找到idea中的 Edit Configurations… 设置远程debug参数 ③idea中启动远程debug ④在本地代码中打断点即可调试远程
怎么快速定位系统的瓶颈 Arthas阿尔萨斯 Arthas Arthas 是一款线上监控诊断产品通过全局视角实时查看应用 load、内存、gc、线程的状态信息并能在不修改应用代码的情况下对业务问题进行诊断包括查看方法调用的出入参、异常监测方法执行耗时类加载信息等大大提升线上问题排查效率。
你们开发业务的流程是什么
1产品经理说需求–》后端前端测试 2定接口后端主导 | 前端主导 | 前后端协调 ● mock测试 3后端的工作设计技术选型数据库表[原型或PRD] 编码前端 开发页面 ● 基于原型或PRD(需求文档) ● 命名规范参考阿里规约 ● 字段类型合适类型—根据存储的内容决定 ● 实体与实体之间的关系主外键约束 ● 表设计没有不变的 4部署测试环境 5接口联调 —前后端联调 6测试 -- 提bug 专门的bug管理工具(禅道) 每个人都会开通一个禅道账号 个人修复bug以后提交为 已解决———》 测试人员回归测试 7部署正式环境
查看日志的命令
(1)tomcat查看实时日志
● 实时监控日志
tail -f catalina.out● 查询最后100行日志
tail -n 100 -f catalina.out (2)doeker容器实时查看日志 ● 实时监控日志
docker logs -f 容器id/容器名称 ● 查询最后100行日志docker logs -n 100 -f 容器id/容器名称 (3)查看日志文件 ● 在test.log文件中搜索”exception”cat -n test.log | grep “exception” ● 分页查看日志文件more test.log ● 使用 xxx.txt 将查询到的日志保存到文件中,可以下载这个文件分析 cat -n test.log |grep “debug” debug.txt 通常的使用思路先尝试监控实时日志看看能不能监控到想要的信息如果不能则需要查看日志文件从海量日志信息中找出自己想要的错误信息。