面试复盘|腾讯金融科技一面凉经!

emm,前一个部门挂了,被腾讯金融科技部门捞了,原本期待一波的,结果面完,无感了。

这个部门应该主要是c/c++的,上来问我对语言建议吗,我说都行,感觉这个面试官可能对java不熟悉,导致没怎么问java问题,很多问题都牵涉到底层c代码了,人直接麻了!

1.自我介绍三分钟

2.hashmap的实现?hashcode怎么算的?为什么一开始不用红黑树?

看到三连问,我直接人无了,问我hashcode怎么去实现的有没有看过,意思就是有没有看过c代码吧,说没具体去了解过。

3.快速排序说一下?时间复杂度。

balabala说来一下,这个问题还行,就说了一下实现思路。

4.topk问题如何解决?快排怎么解决?

我一开始说的我一般用堆排序,然后面试官说那用快排呢?

5.http状态码 502 403分别代表什么意思

6.http1.1和http2.0的区别

7.http2.0的压缩算法知道哪些,如果让你设计你会怎么设计?

8.syn攻击知道吗?syn攻击如何解决?

SYN 攻击
我们都知道 TCP 连接建⽴是需要三次握⼿,假设攻击者短时间伪造不同 IP 地址的 SYN 报⽂,服务端每接收到
⼀个 SYN 报⽂,就进⼊ SYN_RCVD 状态,但服务端发送出去的 ACK + SYN 报⽂,⽆法得到未知 IP 主机的
ACK 应答,久⽽久之就会占满服务端的 SYN 接收队列(未连接队列),使得服务器不能为正常⽤户服务。

避免 SYN 攻击⽅式⼀
其中⼀种解决⽅式是通过修改 Linux 内核参数,控制队列⼤⼩和当队列满时应做什么处理。
当⽹卡接收数据包的速度⼤于内核处理的速度时,会有⼀个队列保存这些数据包。控制该队列的最⼤值如下
参数:
net.core.netdev_max_backlog
SYN_RCVD 状态连接的最⼤个数:
net.ipv4.tcp_max_syn_backlog
超出处理能时,对新的 SYN 直接回报 RST,丢弃连接:
net.ipv4.tcp_abort_on_overflow


避免 SYN 攻击⽅式⼆
正常流程:
当服务端接收到客户端的 SYN 报⽂时,会将其加⼊到内核的「 SYN 队列」;
接着发送 SYN + ACK 给客户端,等待客户端回应 ACK 报⽂;
服务端接收到 ACK 报⽂后,从「 SYN 队列」移除放⼊到「 Accept 队列」;
应⽤通过调⽤ accpet() socket 接⼝,从「 Accept 队列」取出连接。应⽤程序过慢:
如果应⽤程序过慢时,就会导致「 Accept 队列」被占满。

受到 SYN 攻击:
如果不断受到 SYN 攻击,就会导致「 SYN 队列」被占满。
tcp_syncookies 的⽅式可以应对 SYN 攻击的⽅法:
net.ipv4.tcp_syncookies = 1当 「 SYN 队列」满之后,后续服务器收到 SYN 包,不进⼊「 SYN 队列」;
计算出⼀个 cookie 值,再以 SYN + ACK 中的「序列号」返回客户端,
服务端接收到客户端的应答报⽂时,服务器会检查这个 ACK 包的合法性。如果合法,直接放⼊到「 Accept
队列」。
最后应⽤通过调⽤ accpet() socket 接⼝,从「 Accept 队列」取出的连接。

9.time_waith过多如何解决?

主动发起断开连接的一方,如果出现大量的time_wait状态的一个解决方案就是把修改net.ipv4.tcp_max_tw_buckets 调小。这样当出现大量的time_wait状态的时候如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。同时,大量的time_wait占用着tcp端口,所以在设置了tcp端口范围后,net.ipv4.tcp_max_tw_buckets参数要比端口范围小些。

10.说一下操作系统内部的内存(代码块,程序块这些)

直接人傻了,完全不记得了!

11.那你说一下java中的吧?那你们怎么控制堆大小的,堆的最大值多少?

emm,自己没设置过,这个难道不是要结合实际业务场景吗?

12.问项目,数据过多会涉及到分库分表,该如何解决?

13.字符串反转?

我说可以根据空格分割,然后使用stringbuilder,面试官貌似不清楚这个类吧,写完后,还让我试一下有多个空格,他可能不清楚split已经都优化完了吧。

总结:可能是岗位匹配度不高,整体体验一般,可能kpi吧。


讨论:不过其中几个问题还是不错的,比如syn攻击这个,大家可以讨论一下,还有time—waith过多如何解决?

#面试复盘##腾讯##面经#
全部评论
金融科技不是java多吗,我看人家说的
点赞
送花
回复
分享
发布于 2021-09-01 15:58
是用面呗面试的吗还是腾讯会议呀老哥
点赞
送花
回复
分享
发布于 2021-09-02 11:43
滴滴
校招火热招聘中
官网直投
老哥,你什么时候出结果的,周四早上面完,现在还没出结果😭
点赞
送花
回复
分享
发布于 2021-09-18 14:18

相关推荐

🕒岗位/面试时间前端开发工程师/4.24面试时长:40min书接上文 企微挂后当天被捞 第九次腾讯一面刚好和第二次面的是同一个部门 发生哈希碰撞了属于是👥面试流程1、自我介绍2、项目介绍基础:3、最熟悉哪些js库?(感觉有很多啊?就随口说了axios、echarts、lodash等等几个 没有追问)4、数值取整有哪些函数可以用?(当时只说了parseInt 后面想想其实floor ceil都可以)5、数组如何拼接成字符串?6、数组深浅拷贝7、如何改变函数的作用域?8、手写一个简单的正则表达式9、如何实现跨域请求?解释原理(讲了cors 反向代理 jsonp 被追问还有吗 当时没有想到其他的)10、了解过cookie吗?cookie的作用是什么?cookie有哪些key?(最后这个问题不太理解 cookie存储的不是字符串吗?是想问有哪些响应头字段?)11、解释一下XSS和CSRF12、讲一下http的缓存13、数据结构学得怎么样 讲一下熟悉的数据结构(当时有点懵 就随口说了链表、树、栈、队列、堆啥啥啥的 没有详细介绍 寻思着后面会再追问 但是没有)14、平时会通过哪些渠道获取知识?反问:15、业务:类似理财通16、技术栈:vue及变种框架如何看待像我这样面了八次一面的人 听说面超过三次就很难进了:要对自己充满信心 能够被挑中八次证明面试官对你的印象还是不错的 本次挑中的原因主要是学历和项目不错同时综合测评及获奖记录都还可以建议:1、在做项目的过程中太过于履平自己的经历/精力?(不是太懂)以至于在关键的基础点上理解得不是很深 2、了解原理遇到具体的场景才能更好地使用 举例http缓存3、不能忽视js基础4、履历评测学校经历已经打败80%的人了 基础和潜力还是可以的 八次面试大多数的评价都是基于前端基础理解上不是特别的好(所以其实还是有一点点面评的🤣)不要对自己的能力产生怀疑 看你测评笔试分数还挺高的(看来猪头里面不只是水 还是有一点点脑子) 主要还是在技术上多应用多实践多了解🙂面试感受:和上次面金融科技部门类似 这次问的八股都很基础 说实话这次面试完一度以为自己终于能过一面了 晚上一看流程又结束了 这时候再回看“要对自己充满信心” 又何尝不是一种黑色幽默呢? #软件开发2024笔面经#
点赞 评论 收藏
转发
5 30 评论
分享
牛客网
牛客企业服务