腾讯wxg企业微信 后端开发一面

发布于:2025-04-20 ⋅ 阅读:(16) ⋅ 点赞:(0)

在这里插入图片描述

UDP安全吗,怎么修改让其安全?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

packet header

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

QUIC FrameHeader

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

TCP的三个窗口 滑动 发送 拥塞, 怎么用UDP使用类似的功能 怎么确认消息是否收到?

在这里插入图片描述
在这里插入图片描述

TCP的拥塞控制是怎么样的

在这里插入图片描述

HTTPS的握手流程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MySQL为什么用B+树 红黑树等结构也能在叶子节点实现双向链表,为什么不能这样做

在这里插入图片描述
在这里插入图片描述

数据页是什么 怎么存储数据的 以什么样的形式进行存储数据页本身的?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

InnoDB的Buffer Pool是什么?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Golang中的Map底层是怎么实现的 冲突了怎么办?

参考:https://www.nowcoder.com/discuss/654439348040970240
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Redis的怎么删除过期的键 Redis内存淘汰有哪些?

过期删除

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

内存淘汰

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

clickhouse为什么快,原理是什么?

参考:https://www.nowcoder.com/discuss/460559332506124288
参考:https://blog.csdn.net/goTsHgo/article/details/142164601
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进程、线程的区别?

在这里插入图片描述

给一个字符串,找到满足元素种数不超过k个的最长子串

https://www.nowcoder.com/questionTerminal/04c926ef687340c3842a72edb5c23ede

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @param k int整型 
 * @return int整型
*/
func longestSubstring( s string ,  k int ) int {
    ans := 0
    className := 0
    book := [26]int{}
    for i,j := 0,0;j<len(s);j++{
        if book[s[j]-'a']==0{
            className++
        }
        book[s[j]-'a']++
        for className>k{
            if book[s[i]-'a']==1{
                className--
            }
            book[s[i]-'a']--
            i++
        }
        if j-i+1>ans{
            ans = j-i+1
        }
    }
    return ans
}

能用1 14 144拼成的数字称为幸运数,给定x,找出所有小于等于x的幸运数,按升序返回,不能用排序

package main

import (
	"fmt"
)

func generateLuckyNumbers(x int) []int {
	luckyNumbers := make(map[int]struct{})
	var result []int

	var dfs func(current int)
	dfs = func(current int) {
		if current > x {
			return
		}
		luckyNumbers[current] = struct{}{}
		// Generate new numbers by appending 1, 14, and 144
		dfs(current*10 + 1)
		dfs(current*10 + 14)
		dfs(current*100 + 144)
	}

	// Start the DFS traversal from 0
	dfs(0)

	// Collect results and ensure sorted order by insertion
	for num := range luckyNumbers {
		if num > 0 { // We only want positive lucky numbers
			result = append(result, num)
		}
	}

	// Print results in ascending order
	for i := 0; i <= x; i++ {
		if contains(result, i) {
			fmt.Println(i)
		}
	}

	return result
}

// Helper function to check if a number is in the results
func contains(slice []int, num int) bool {
	for _, v := range slice {
		if v == num {
			return true
		}
	}
	return false
}

func main() {
	x := 1000 // You can change this value to test with different x
	generateLuckyNumbers(x)
}

网站公告

今日签到

点亮在社区的每一天
去签到