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.首先要指定關係 git remote add origin [email protected]:demo.git
2.獲取最新的代碼 git pull origin master
3.創建一個分支 git checkout -b feature
4.要在分支上提交代碼,add 和commit , git add . git commit -m “說明”
5.然後切換到master , git chechkout master
6.然後在master上面進行合併分支的代碼,git merge feature
7.最後push到遠程 git push -u origin master
8.就可以在github遠程看到更新提交的代碼了

一張表格數據如下,一個字段爲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,是否處於該多邊形內部(只給出思路即可,不要求寫代碼)

在這裏插入圖片描述

後面兩個題沒有想好具體解答方案,有好心人士如果有的話,可以私信我哦。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章