關于epoll和select的區別,哪些說法是正確的?
【A】epoll和select都是I/O多路復用的技術,都可以實作同時監聽多個I/O事件的狀態,
【B】epoll相比select效率更高,主要是基于其作業系統支持的I/O事件通知機制,而select是基于輪詢機制,
【C】epoll支持水平觸發和邊沿觸發兩種模式,
【D】select能并行支持I/O比較小,且無法修改,
答案:ABC
從innodb的索引結構分析,為什么索引的key長度不能太長? key 太長會導致一個頁當中能夠存放的 key 的數目變少,間接導致索引樹的頁數目變多,索引層次增加,從而影響整體查詢變更的效率,
MySQL的資料如何恢復到任意時間點?
恢復到任意時間點以定時的做全量備份,以及備份增量的 binlog 日志為前提,恢復到任意時間點首先將全量備份恢復之后,再此基礎上回放增加的 binlog 直至指定的時間點,
輸入 ping IP 后敲回車,發包前會發生什么?
首先根據目標IP和路由表決定走哪個網卡,再根據網卡的子網掩碼地址判斷目的IP是否在子網內,如果不在則會通過ARP快取查詢IP的網卡地址,不存在的話會通過廣播詢問目的IP的mac地址,得到后就開始發包了,同時mac地址也會被ARP快取起來,
請解釋下為什么鹿晗發布戀情的時候,微博系統會崩潰,如何解決?
《 參考思路 》 A. 獲取微博通過 pull 方式還是 push 方式 B. 發布微博的頻率要遠小于閱讀微博 C. 流量明星的發微博,和普通博主要區分對待,比如在 sharding 的時候,也要考慮這個因素
現有一批郵件需要發送給訂閱顧客,且有一個集群(集群的節點數不定,會動態擴容縮容)來負責具體的郵件發送任務,如何讓系統盡快地完成發送?請詳述技術方案! A. 借助訊息中間件,通過發布者訂閱者模式來進行任務分配 B. master-slave 部署,由 master 來分配任務 C. 不借助任何中間件,且所有節點均等,通過資料庫的 updatereturning,從而實作節點之間任務的互斥
有一批氣象觀測站,現需要獲取這些站點的觀測資料,并存盤到 Hive 中,但是氣象局只提供了 api 查詢,每次只能查詢單個觀測點,那么如果能夠方便快速地獲取到所有的觀測點的資料? A. 通過 shell 或 python 等呼叫 api,結果先暫存本地,最后將本地檔案上傳到 Hive 中, B. 通過 datax 的 httpReader 和 hdfsWriter 插件,從而獲取所需的資料, C. 比較理想的回答,是在計算引擎的 UDF 中呼叫查詢 api,執行UDF 的查詢結果存盤到對應的表中,一方面,不需要同步任務的匯出匯入;另一方面,計算引擎的分布式框架天生提供了分布式、容錯、并發等特性,
給定一個鏈表,洗掉鏈表的倒數第 N 個節點,并且回傳鏈表的頭結點,給定一個鏈表: 1->2->3->4->5, 和 n = 2. 當洗掉了倒數第二個節點后,鏈表變為 1->2->3->5. 說明:給定的 n 保證是有效的,要求:只允許對鏈表進行一次遍歷,
參考答案
我們可以使用兩個指標而不是一個指標,第一個指標從串列的開頭向前移動 n+1n+1 步,而第二個指標將從串列的開頭出發,現在,這兩個指標被 nn 個結點分開,我們通過同時移動兩個指標向前來保持這個恒定的間隔,直到第一個指標到達最后一個結點,此時第二個指標將指向從最后一個結點數起的第 nn 個結點,我們重新鏈接第二個指標所參考的結點的 next 指標指向該結點的下下個結點,
代碼示例 :
public ListNode removeNthFromEnd(ListNode head, int n)
{
ListNode dummy = new ListNode(0);
dummy.next = head;
ListNode first = dummy;
ListNode second = dummy;
// Advances first pointer so that the gap between first
and second is n nodes apart
for (int i = 1; i <= n + 1; i++) {
first = first.next;
}
// Move first to the end, maintaining the gap
while (first != null) {
first = first.next;
second = second.next;
}
second.next = second.next.next;
return dummy.next;
}
復雜度分析:
時間復雜度:O(L),該演算法對含有 L 個結點的串列進行了一次遍歷,因此時間復雜度為 O(L),空間復雜度:O(1),我們只用了常量級的額外空間,
假如給你一個新產品,你將從哪些方面來保障它的質量?可以從代碼開發、測驗保障、線上質量三個方面來保障,在代碼開發階段,有單元測驗、代碼Review、靜態代碼掃描等;測驗保障階段,有功能測驗、性能測驗、高可用測驗、穩定性測驗、兼容性測驗等;在線上質量方面,有灰度發布、緊急回滾、故障演練、線上監控和巡檢等,
請評估一下程式的執行結果?
public class SynchronousQueueQuiz {
public static void main(String[] args) throws Exception {
BlockingQueue<Integer> queue = new
SynchronousQueue<>();
System. out .print(queue.offer(1) + " ");
System. out .print(queue.offer(2) + " ");
System. out .print(queue.offer(3) + " ");
System. out .print(queue.take() + " ");
System. out .println(queue.size());
}
}
A. true true true 1 3
B. true true true (阻塞)
C. false false false null 0
D. false false false (阻塞)
參考答案 D
題外
由于資料太多,此篇文章限于篇幅只分享了小部分資料,如果需要全套面試真題的朋友(內含所有題目答案)請點擊這里 暗號:qf
近段時間正值找作業的最佳時間,祝各位萬事順利找到自己心儀的作業!


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/76944.html
標籤:其他
上一篇:對vue專案的api進行封裝
