8.6 腾讯金融科技一面

自我介绍完就迅速开始了
实习:10min
    没深入问,细节还没来得及讲就结束了
八股:25min
    1. linux怎么查看内存情况,怎么查看进程情况,怎么查看cpu情况
    2. redis用的多吗,hash的底层数据结构 都有什么解决哈希冲突的办法
    3. 三次握手 四次挥手具体的状态和变化 为什么等待2MSL
    4. 假如一方断开连接另一方还在listen怎么办
    5. MySQL索引的数据结构 B+树优势在哪
    6. 从输入网址到展示网页都发生了什么
    7. 假如单机扛不住大流量怎么办 答加机器 又问怎么把请求打到每个机器上 然后扯到负载均衡和注册中心
    8. 有哪些负载均衡策略 有什么负载均衡组件 怎么工作的
    9. 开发环境是在linux还是在本地 本地
    10. 怎么分析某个进程的资源使用情况
    11. Tomcat或者SpringBoot是怎么实现监听客户端连接并接收响应请求的 listenAndServe答的很一般
算法:15min
    lc494 目标和 
    lc48 旋转图像
反问:团队多少人?100多 主语言go
==========更新===========
全程没问Java,别的也没深问,大概答了80%
算法a了,已挂 还是太菜 应该是后面有大佬
#腾讯##秋招##如何一边实习一边秋招##字节##阿里#
全部评论
大神如云
5 回复 分享
发布于 08-07 23:19 黑龙江
全答上来了吗
1 回复 分享
发布于 08-07 12:10 陕西
友塔游戏
校招火热招聘中
官网直投
状态变了吗
1 回复 分享
发布于 08-07 14:01 浙江
我也面了这个,看面试官的态度好像是过了,但是去官网上一看挂了😓
1 回复 分享
发布于 08-07 18:32 辽宁
有要来去哪儿网来粪斗的咩? https://www.nowcoder.com/discuss/649938478460940288?sourceSSR=users
1 回复 分享
发布于 08-07 23:13 北京
八成很厉害了
1 回复 分享
发布于 08-08 09:06 黑龙江
好好好,哦我们不限制语言哦,同学们加油
1 回复 分享
发布于 08-08 16:18 上海
面试时算法一般是怎么做啊,直接打开力扣吗?还是使用本地编辑器
1 回复 分享
发布于 08-09 09:26 重庆
同团子实习,同面金融科技,同基本不问实习项目,一上来就八股。周五下午面的,现在没动静,但是估计寄了,
1 回复 分享
发布于 08-25 01:40 上海
佬你投的时候有选意向的部门吗
点赞 回复 分享
发布于 08-07 11:38 广东
现在面是实习吗还是秋招啊
点赞 回复 分享
发布于 08-07 20:15 上海
二面估计挂咯,全程场景结合底层,没见过这么难的
点赞 回复 分享
发布于 08-07 22:35 江西
请问第11个是想问什么
点赞 回复 分享
发布于 08-08 01:13 四川
我也是6号的cdg,一直没有结果还是初试中
点赞 回复 分享
发布于 08-08 10:19 浙江
很牛逼了
点赞 回复 分享
发布于 08-08 11:10 上海
正式批还是提前批呀
点赞 回复 分享
发布于 08-08 12:27 北京
算法题好难啊 到底怎么过算法题啊
点赞 回复 分享
发布于 08-08 15:45 上海
请问金融科技base是深圳的还是北京的呀
点赞 回复 分享
发布于 08-08 16:33 北京
这俩算法其实算比较难的了
点赞 回复 分享
发布于 08-09 00:48 河北
我就说怎么会给我打电话,果然是kpi。😓😓😓
点赞 回复 分享
发布于 08-09 09:33 重庆

相关推荐

协程一直来说概念上挺玄学的,个人觉得确实是属于网上误传也非常多一种概念,经常跟用户级线程、绿色线程各种概念混在一起了。很多时候都说是一个东西,很多时候又能说出区别。留一个自己认知的大概解就差不多了,关键落到会用,跟线程的对比上有足够认知就差不多了。要提到这些概念也没问题,面试别咬死了说就好(我目前感觉这三个确实是一个东西)。● 不管定义是怎样,一定正确的一些特点:  ○ 协作式,非抢占式,编程语言决定或者协程自己决定如何做切换调度  ○ 完全用户态,无内核开销,大多数操作不涉及系统调用● 跟线程对比  ○ 实现特点:线程是 os 的软中断实现的,内核决定主要调度,协程一般是自己让渡,很多时候是线程复用,无传统意义上的中断。  ○ 控制难度:这个是我之前没留意的一个点,感觉协程线程其实用起来都差不多。但协程确实提供了很多机制来降低控制难度,线程需要百分百管理锁和同步,而协程一般都会在语言运行时层面上进一步做抽象来简化并发模型。比如 go 里边的 wg 和 channel。  ○ 性能:更轻量实现并发。上下文切换、用户态、占用内存(栈空间)goroutine 是协程在 go 语言里的‘实现’(我觉得实现这种说法比是在 go 里面的‘优化’更好一点,因为协程本身就没有一个确定基础实现。所以其实就我目前的理解协程更像是满足上面特点的一种‘不同于多线程的程序并发实现思想’)● 基本认知  ○ 和线程 m 对 n 关系,可以并行  ○ 基于 GMP 模型,模型可以认知为整体的一个实现,其中 P 是作为调度器的角色,gm 分别代表 goroutine 和 内核线程的抽象。  ○ 几种调度方式:一种分类是主动、被动、正常、抢占四种情况。这个分类挺好的,列举了所有情况。主动是还没执行完交出执行权,被动是临时阻塞被调度器给调度了,正常调度是结束调度新的,抢占调度是后面版本引入的针对系统调用僵直情况的调度。前面三种都是协作式的符合协程特点。● 怎样做调度,大概的调度流程和机制,剩下有哪些调度细节  ○ gmp 模型中,p 主要是本地队列,m 主要是线程抽象,直接指向 g。执行设想就是,p 动态绑定一个 m,然后 m 再通过 p 去拿 g 去执行。  ○ m 怎么找到下一个正常执行的 g:主要按照本地队列、全局队列、wait 队列、work-stealing 的顺序取(再加上一个每 61 次会优先全局防止饥饿)  ○ g 的生命周期,正常流程 idle -> dead -> runnable -> running -> dead,运行的两状态会分别进入一个系统调用状态和 wait 状态(即阻塞,就是上面的 wait 队列,由被动调度触发)  ○ 我们直接创建的 g 优先进入当前 p 的本地队列,本地队列满或者主动让渡等情况会进全局队列● 其他面试问题  ○ 调度器 P 起到了什么作用?试想没有 P,那么我们 g 直接跟 m 绑定,那么好像其实就跟直接跟使用线程差不多了只是简单封装。首先最明显的作用就是实现了一个 m:n 关系,p 虽然跟处理器没直接关系但是还是确实代表一个抽象,最佳实践就是 p = 核心数(GOMAXPROCS),一定程度上线程的数量。其次这样动态绑定实现了线程的复用。除了这两个设计上的作用,剩下的就是他作为本地队列了,就类似于一个 channel 无锁化的重要步骤。最后还有 p 是作为一个所谓的“万能中间层”,除了动态做这种绑定复用,还能处理僵直的抢占调度的情况,这种情况下 p 会重新绑定一个 m 再去执行 g。    ■ 有个进阶题目,在一个 GOMAXPROCS 不等于核心数的 container 中运行程序会怎样?简单说,p 的数量直接意味着整个调度系统认为我们 cpu 有多少核,最大并行能力是怎样的。如果多了的话,就是实际线程数可能会比最佳值要大。那么就是调度效率下降,资源竞争加剧,性能下降。少了基本就是没充分利用了。  ○ 如何实现无锁化的。调度的时候取 g 的顺序,只有全局要加锁,p 是空的时候和窃取失败的时候都会提前取好 g。  ○ 为什么轻量?用户态,弱内核依赖,上下文切换,栈动态扩缩(初始内存是 0)  ○ 操作系统如何向某个Goroutine发送时钟中断呢?(这个我暂时没找到答案,目前理解是 os 先通知 go runtime,然后相关 m 在自己执行过程中被插入系统调用。)  ○ goroutine 终止会对其他 goroutine 产生影响吗(已捕获可恢复可以,否则会因为传递到顶层 g 导致全部崩溃)  ○ 什么时候被回收(这个问题有点奇怪,了解所有调度方式就好了,正常用完都会被回收,不然就是 panic 恢复,程序结束)
点赞 评论 收藏
分享
24 192 评论
分享
牛客网
牛客企业服务