日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

1、go的調度

2、go struct能不能比較

Go語言中文文檔:www.topgoer.com

因為是強類型語言,所以不同類型的結構不能作比較,但是同一類型的實例值是可以比較的,實例不可以比較,因為是指針類型

3、go defer(for defer),先進后出,后進先出

func b() {
    for i := 0; i < 4; i++ {
        defer fmt.Print(i)
    }
}

4、select可以用于什么,常用語gorotine的完美退出

golang 的 select 就是監聽 IO 操作,當 IO 操作發生時,觸發相應的動作
每個case語句里必須是一個IO操作,確切的說,應該是一個面向channel的IO操作

5、context包的用途Context通常被譯作上下文,它是一個比較抽象的概念,其本質,是【上下上下】存在上下層的傳遞,上會把內容傳遞給下。在Go語言中,程序單元也就指的是Goroutine

6、client如何實現長連接

    server是設置超時時間,for循環遍歷的

7、主協程如何等其余協程完再操作

使用channel進行通信,context,select

8、slice,len,cap,共享,擴容

    Append函數,因為slice底層數據結構是,由數組、len、cap組成,所以,在使用append擴容時,會查看數組后面有沒有連續內存快,有就在后面添加,沒有就重新生成一個大的素組

9、map如何順序讀取

map不能順序讀取,是因為他是無序的,想要有序讀取,首先的解決的問題就是,把key變為有序,所以可以把key放入切片,對切片進行排序,遍歷切片,通過key取值。

10、實現set

type inter interface{}
type Set struct {
    m map[inter]bool
    sync.RWMutex
}
 
func New() *Set {
    return &Set{
    m: map[inter]bool{},
    }
}
func (s *Set) Add(item inter) {
    s.Lock()
    defer s.Unlock()
    s.m[item] = true
}

11、實現消息隊列(多生產者,多消費者)

使用切片加鎖可以實現

12、大文件排序

歸并排序,分而治之,拆分為小文件,在排序

13、基本排序,哪些是穩定的14、http get跟head

HEAD和GET本質是一樣的,區別在于HEAD不含有呈現數據,而僅僅是HTTP頭信息。有的人可能覺得這個方法沒什么用,其實不是這樣的。想象一個業務情景:欲判斷某個資源是否存在,我們通常使用GET,但這里用HEAD則意義更加明確。

15、http 401,403

400 bad request,請求報文存在語法錯誤
401 unauthorized,表示發送的請求需要有通過 HTTP 認證的認證信息
403 forbidden,表示對請求資源的訪問被服務器拒絕
404 not found,表示在服務器上沒有找到請求的資源

16、http keep-alive

client發出的HTTP請求頭需要增加Connection:keep-alive字段
Web-Server端要能識別Connection:keep-alive字段,并且在http的response里指定Connection:keep-alive字段,告訴client,我能提供keep-alive服務,并且"應允"client我暫時不會關閉socket連接

17、http能不能一次連接多次請求,不等后端返回

http本質上市使用socket連接,因此發送請求,接寫入tcp緩沖,是可以多次進行的,這也是http是無狀態的原因

18、tcp與udp區別,udp優點,適用場景

tcp傳輸的是數據流,而udp是數據包,tcp會進過三次握手,udp不需要

19、time-wait的作用

20、數據庫如何建索引

21、孤兒進程,僵尸進程

22、死鎖條件,如何避免

23、linux命令,查看端口占用,cpu負載,內存占用,如何發送信號給一個進程

24、git文件版本,使用順序,merge跟rebase

26、Slice與數組區別,Slice底層結構

27、項目里的微信支付這塊,在支付完微信通知這里,收到兩次微信相同的支付通知,怎么防止重復消費(類似接口的冪等性),說了借助redis或者數據庫的事務

28、項目里的消息推送怎么做的(業務有關)

29、Go的反射包怎么找到對應的方法(這里忘記怎么問的,直接說不會,只用了DeepEqual,簡單講了DeepEqual)

30、Redis基本數據結構

31、Redis的List用過嗎?底層怎么實現的?知道但是沒用過,不知道怎么實現

32、MySQL的索引有幾種,時間復雜度

33、InnoDb是表鎖還是行鎖,為什么(這里答不出來為什么,只說了行鎖)

34、Go的channel(有緩沖和無緩沖)

35、退出程序時怎么防止channel沒有消費完,這里一開始有點沒清楚面試官問的,然后說了監聽中斷信號,做退出前的處理,然后面試官說不是這個意思,然后說發送前先告知長度,長度要是不知道呢?close channel下游會受到0值,可以利用這點(這里也有點跟面試官說不明白)

36、用過什么消息中間件之類嗎?沒有

37、有什么問題嗎?評價?后面還有面試,后面再問吧

38、生產者消費者模式,手寫代碼(Go直接使用channel實現很簡單,還想著面試官會不會不讓用channel實現,不用channel的可以使用數組加條件變量),channel緩沖長度怎么決定,怎么控制上游生產速度過快,這里沒說出解決方案,只是簡單說了channel長度可以與上下游的速度比例成線性關系,面試官說這是一種解決方案

39、手寫循環隊列

40、寫的循環隊列是不是線程安全,不是,怎么保證線程安全,加鎖,效率有點低啊,然后面試官就提醒Go推崇原子操作和channel

41、寫完代碼面試官說后面問的問題回答就可以,不知道的話沒關系

42、Linux會不會,只會幾個命令,面試官就說一共也就一百多個命令

43、TimeWait和CloseWait原因

44、線段樹了解嗎?不了解,字典樹?了解

45、看過啥源碼,nsq(Go的消息中間件),簡單問了我里面的waitgroup包證明我看過

46、sync.Pool用過嗎,為什么使用,對象池,避免頻繁分配對象(GC有關),那里面的對象是固定的嗎?不清楚,沒看過這個的源碼

47、有什么問題嗎?評價?基礎不錯,Linux尚缺,Go的理解不夠深入,高級數據結構不了解,優點是看源碼

48、后面面試官講了他們做的東西,主要是廣告部分,說日均數據量至少百萬以上,多達上億,高并發使用Go支撐,有微服務,服務治理,說我需要學的東西挺多的

49、證明二叉樹的葉子節點跟度數為2的節點的關系

50、唯一索引和主鍵索引

51、智能指針

52、字符串解析為數字(考慮浮點型)

53、單點登錄,tcp粘包

54、手寫洗牌

55、處理粘包斷包實現,面試官以為是negle算法有關,解釋了下negle跟糊涂窗口綜合征有關,然后面試官覺得其他項目是crud就沒問了

56、goroutine調度用了什么系統調用,這個不會,面試官想從go問到操作系統,然后以為***作系統基礎不好,就問了操作系統問題

57、進程虛擬空間分布,全局變量放哪里?答上來了,操作系統就不問了

58、有沒有網絡編程,有,怎么看連接狀態?netstat,有哪些?ESTABLISHED,LISTEN等等,有異常情況嗎?TIME_WAIT很多,為什么?大量短鏈接

59、幾種基本排序算法說一下,問了堆的時間復雜度,穩定性,為什么不穩定

60、 topk問題,海量數據topk(回答成切分多次加載內存,然后用維持k長度的有序鏈表,然后被說時間復雜度不好,提示說還是用堆,然后哦哦哦對)最長連續字串和,這里我說的解決方案沒用dp(對dp不熟),面試官一直引導我dp,還是不會

61、什么是主鍵62、聯合索引和唯一索引

62、越多的索引越好嗎?

63、建立索引要注意什么?

64、進程和線程區別?

65、死鎖?

66、tcp三次握手

67、http,https

68、狀態碼401,301,302,201

69、項目我說只有一臺機子,所以用的單機部署,面試官說單機也可以部署多個,有什么方法嗎?我說Docker,問docker有哪些網絡,不熟,dockerfile關鍵字,只答幾個。順便扯了下Nginx轉發。

70、數據庫隔離級別,提交讀會造成什么

71、go調度

72、 goroutine泄漏有沒有處理,設置timeout,select加定時器

73、mysql高可用的方案

74、進程線程區別

75、排序算法以及時間復雜度

76、怎么學習go

77、go的線程,給他講了跟goroutine調度

78、io模型,同步阻塞,同步非阻塞,異步

79、cookie和session

實習項目
優缺點
同學的評價
興趣愛好
有什么offer

80、接口kps測試

81、redis排行榜數據結構(跳躍表),查詢時間復雜度

82、redis分布式,如何減少同步延遲

83、mysql能實現redis的功能嗎

84、平時怎么學習?

85、看什么書?

86、興趣愛好

87、看過google四篇分布式論文嗎,沒看過

89、cap理論,舉例

90、LRU算法,LFU

91、講講怎么理解網絡編程

92、go使用踩過什么坑(for range,數據庫連接defer close)

93、go優缺點

95、go的值傳遞和引用

96、慢查詢

97、為什么使用pg

98、redis的數據類型

99、所有左葉子節點的和

100、m個n大小的有序數組求并集,一開始是2路歸并,求時間復雜度,后來在面試官提醒直接m路歸并,求時間復雜度

101、static關鍵字,還有其他關鍵字嗎

102、hash表設計,線程安全?

103、 線程自己獨享什么

104、網絡編程過程

105、select、epoll

106、看什么書

107、排行榜怎么實現

108、go的鎖如何實現,用了什么cpu指令

109、go的runtime如何實現

110、看過sql的連接池實現嗎

111、ctx包了解嗎?有什么用?

112、go什么情況下會發生內存泄漏?(他說ctx沒有cancel的時候,這個真不知道)

113、怎么實現協程完美退出?

114、智力題:1000瓶酒中有1瓶毒酒,10只老鼠,7天后毒性才發作,第8天要賣了,怎么求那瓶毒酒?

115、簡單dp題,n*n矩陣從左上角到右下角有多少種走法(只限往下和往右走)

116、用channel實現定時器?(實際上是兩個協程同步)

117、go為什么高并發好?講了go的調度模型

118、操作系統內存管理?進程通訊,為什么共享存儲區效率最高

119、實現一個hashmap,解決hash沖突的方法,解決hash傾斜的方法

120、怎么理解go的interface

121、100億個數選top5,小根堆

122、數組和為n的數組對

123、最大連續子數組和

124、redis容災,備份,擴容

125、跳躍表,為什么使用跳躍表而不使用紅黑樹

126、輸入url后涉及什么

127、tcp怎么找到哪個套接字

128、ipc方式,共享存儲區原理

130、進程虛擬空間布局

131、進程狀態轉換

132、線程的棧在哪里分配

133、多個線程讀,一個線程寫一個int32會不會有問題,int64呢(這里面試官后來說了要看數據總線的位數,32位的話寫int32沒問題,int64就有問題)

134、判斷二叉樹是否為滿二叉樹

135、lru實現

136、一個大整數(字符串形式表示的),移動字符求比它大的數中最小的

137、點贊系統設計

分享到:
標簽:面試題 語言
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定