20200119一家面试题(部分答案没有写之后再补)

spingboot 中的@configuration注解的作用和用法

@Configuration注解主要用于定义配置类.可替换xml配置文件.被注解的类内部包含一个或多个被@Bean注解的方法.

springboot 如何进行war包部署?代码要修改哪些地方?

修改pom.xml的build部分
<!-- maven打包的时候告诉maven不需要web.xml,否刚会报找不到web.xml错误 -->
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
    </plugins>
</build>

使用mybatis,调试时想要打印输出实际的sql语句,在哪里设置,怎么设置?

方案1:
网上说的比较多的,之前也是这么用的一种方式
1:首先将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句
2:添加如下语句
###显示SQL语句部分
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.Java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
方案2:
最近发现的一种方式,方便快捷
在mybatis.cfg.xml中增加如下配置

<settings>中增加
<setting name="logImpl" value="STDOUT_LOGGING" />

以上mybatis 调试出sql的两种方式,Mark~~~
补充:
在spring boot 中,可以配置application.properties
logging.level.com.neusoft.newsroom=INFO
logging.level.org.springframework.security=INFO
logging.level.org.hibernate=ERROR
logging.level.com.mypackage.domain.persistence=DEBUG

RabbitMQ,一个生产者,多个消费者,每个消费者都收到相同的消息,这种场景,使用什么类型的exchange?

在一台电脑上打开IE浏览器输入百度浏览器,结果页面无法打开,写出潜在的故障原因,以及排查方法?

首先看是否网络是通的,是否不可外网上网,其次进行ping百度地址是否成功,然后查看其它浏览器是否可以正常访问,然后就可以确定是网络还是浏览器的原因了。

1.造成IE和其它浏览器崩溃的原因是很多的,像IE组件被破坏,或者硬件设备不支持物理加速等,都可能造成浏览器的异常崩溃,这个必须要找到原因手动才容易修复
2.IE组件未注册,DNS异常。使用了以下方法解决了该问题。
使用【百度电脑专家】的“百度打不开”进行修复。或者使用腾讯管家

CSRF是什么?CORS是什么?

CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造。
CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求。
包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账…
造成的问题:个人隐私泄露以及财产安全
跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。

有个项目的git repo地址为:[email protected]:demo.git,主干分支为master,提交代码的分支为feature,请写出主干分支拉代码到本地,修改代码,提交代码,推送代码到feature分支的,全过程的git命令

1.切换到master分支 git checkout master
2.获取最新的代码 git pull origin master
3.从当前分支拉copy开发分支:(新建了一个和master一样的分支Dev) git checkout -b dev
4.把新建的分支push到远端 git push origin dev
5.关联 git branch --set-upstream-to=origin/dev
6.再次拉取验证 git pull origin dev
7.就可以在新的分支上开发了

一张表格数据如下,一个字段为softname,一个字段为os,每一行记录代表一个软件对某个操作系统的支持,写一条sql,查询出所有支持两个以上操作系统的软件的名称

在这里插入图片描述

-- 这是我今天写的
select softname from windowsorlinux 
GROUP BY softname having count(*)>=2
-- 这是正确的答案
select softname,count(softname) from windowsorlinux 
GROUP BY softname having count(softname)>=2

有一个CSV文件,以文本格式保存一矩阵的若干行和列数据,写一段程序从文件中读取数据,将其进行转置,另存为另一个文件,程序接受两个命令行参数,分别为输入文件名和输出文件名,示例输入文件如左,输出文件为右

在这里插入图片描述

已知任意凸边形的各个顶点坐标(p1,p2…pn),设计算法能判断给定一个点的坐标p0,是否处于该多边形内部(只给出思路即可,不要求写代码)

在这里插入图片描述

后面两个题没有想好具体解答方案,有好心人士如果有的话,可以私信我哦。。。

发布了10 篇原创文章 · 获赞 8 · 访问量 313

猜你喜欢

转载自blog.csdn.net/weijx_/article/details/104044295