1 Star 0 Fork 31

霍月龙 / Ebooks

forked from dearHaoGeGe / Ebooks 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
2022年66道大厂经典Bug问题整理汇总附答案.md 7.99 KB
一键复制 编辑 原始数据 按行查看 历史

2022年66道大厂经典Bug问题整理汇总附答案

全部面试题答案,更新日期:01月30日,直接下载吧!

下载链接:高清500+份面试题资料及电子书,累计 10000+ 页大厂面试题 PDF

常见 BUG 问题

题1:MySQL 中 如何解决 Incorrect string value: '\xE5\xB0' 异常?

mysql5.7插入中文字汉字时报java.sql.SQLException: Incorrect string value: '\xE5\xB0'异常。

原因:由于默认情况下,mysql的字符集是latin1(ISO_8859_1),注意此时包含库、表、字段,建表时指定编码格式也会失效。

解决方法

1、查看库、表、表字符字段编码格式

SHOW CREATE DATABASE kepler; //查看库字符集
SHOW CREATE TABLE kepler.statis;//查看表字符集
SHOW FULL COLUMNS FROM kepler.statis; //查看字段编码

2、修改库、表、字符字段编码格式

ALTER DATABASE kepler DEFAULT CHARACTER SET utf8; //修改库字符集
ALTER TABLE kepler.statis CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; //修改表及字符字段字符集

题2:应用服务 8080 端口被意外占用如何解决?

1)按键盘WIN+R键,打开后在运行框中输入“CMD”命令,点击确定。

2)在CMD窗口,输入“netstat -ano”命令,按回车键,即可查看所有的端口占用情况。

3)找到本地地址一览中类似“0.0.0.0:8080”信息,通过此列查看8080端口对应的程序PID。

4)打开任务管理器,详细信息找到对应的应用PID(若不存在通过设置可以调出来),右键结束任务即可。

题3:Maven 打包提示 “程序包com.sun.deploy.net不存在” 的问题?

将com.sun.deploy.net.URLEncoder换成java.net.URLEncoder,就可以解决Maven 打包提示 “程序包com.sun.deploy.net不存在” 的问题。

题4:Java 项目第一次登录页面加载很慢问题?

Java中UUID依赖于SecureRandom.nextBytes方法,而SecureRandom又依赖于操作系统提供的随机数源。在Linux系统下,它的默认依赖是/dev/random,而这个源是阻塞的。

主要原因是nextBytes方法是一个被synchronized关键字修饰的方法,也就是说如果多线程调用UUID,生成速率不升反降,解决这个问题需要修改java的默认随机生成规则就可以。

打开$JAVA_PATH/jre/lib/security/java.security文件,找到下面的内容:

securerandom.source=file:/dev/random

替换成

securerandom.source=file:/dev/./urandom

题5:如何解决 Linux 显示中文乱码问题?

在Linux中通过locale来设置程序运行的不同语言环境,locale由 ANSI C提供支持。locale的命名规则为_.,如zh_CN.GBK,zh代表中文,CN代表大陆地区,GBK表示字符集。

修改 /etc/locale.conf文件的内容

LANG="zh_CN.UTF-8"

执行命令,使修改文件立刻生效

source /etc/locale.conf

题6:Tomcat 可以多个同时启动吗?如何实现?

Tomcat可以多个同时启动,但需要修改server.xml配置文件的端口号。

修改%TOMCAT_HOME%\conf下的server.xml配置文件

第一个: 修改http访问端口(默认为8080端口)

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

将8080修改为第一个tomcat不在使用的端口号。此处所设的端口号即是访问web时所用的端口号。

第二个: 修改Shutdown端口(默认为8005端口)

<Server port="8005" shutdown="SHUTDOWN">

将8005修改为没有在使用的端口号。

第三个: 修改8009端口

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

将8009修改为没有在使用的端口号。

题7:前端传输参数保存数据到 MySQL 中乱码问题?

数据库连接驱动配置参数url添加UTF-8编码:

url:jdbc:mysql://127.0.0.1:3306/JavaJingXuan?useUnicode=true&characterEncoding=UTF-8

题8:form 表单嵌套如何解决表单提交问题?

在html中form表单不可以嵌套使用,例如:

<form name="form1">
    <form name="form2">
    ......
    </form>
    .....
</form>

这样不符合规范,如果需要用到两个表单的情况下,可以考虑合并两个表单,动态改变表单提交位置。

form表单中action为空,在js代码中改变action的值,也就是提交路径。

<form id="formId" action="" method="post">
   .....
   <button id="button1" type="submit"></button>
   <button id="button2" type="submit"></button>
</form>
<script>
$(document).ready(function(){
	$("#button1").click(function(){
		$("#formId").attr("action","url地址1"); 
		$("form").submit();
	});
	$("#button2").click(function(){
		
		$("#formId").attr("action","url地址2"); 
		$("form").submit();
	});
}
</script>

注意提交按钮button的类型是submit不是button。

题9:thymeleaf 模板引擎在 Linux 解析报 500 问题?

Spring Boot项目中集成了thymeleaf模版引擎本地正常运行没任何问题,但是放到Linux系统后出现访问页面报500的问题。

分析原因:可能是thymeleaf模板引擎解析找不到模板路径导致的问题。

例如controller层返回url中出现有大写,文件名config.html,路径写成了device/Config,在window下启动项目时可能可以正常访问页面,但是在Linux系统时必须与文件名一致,还有就是前面不要加/,否则也会报500的问题。

题10:Linux 运行 SQL 语句文件报错?

原因分析:Linux下MySQL版本不兼容导致的。

解决办法:把文件中所有的utf8mb4_0900_ai_ci替换为utf8_general_ci以及utf8mb4替换为utf8类型。

题11:linux-中如何解决-too-many-open-files-异常问题

题12:如何解决-redis-key/value-中-\xac\xed\x00\x05t\x00-字符串

题13:sql-语句执行时间过长如何优化

题14:jsp-模版引擎如何解析-${}-表达式

题15:dubbo-中抛出-rpcexception-no-provider-available-for-remote-service-异常如何处理

题16:mysql-中日期函数时间不准确

题17:idea-中-maven-项目无法自动识别-pom.xml

题18:tomcat-启动-spring-项目如何实现注解方式配置定时任务

题19:jsp-获取-modelandview-传参数据问题

题20:spring-cloud-config-使用-ssh-连接-github-报错

大厂面试题

大厂面试题

大厂面试题

Java
1
https://gitee.com/huo-yuelong/ebooks.git
git@gitee.com:huo-yuelong/ebooks.git
huo-yuelong
ebooks
Ebooks
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891