360内推360面经

360服务器开发—golang为主 一面 全程45min

1.自我介绍

2.上段实习(ps:上段实习也是网安行业的,问的比较细)

3.golang并发优势

4.gmp和gc(ps:回答较为全面)

😬😬😬gmp从单进程讲到多进程/多线程,gmp的设计原理和优势,为什么等等

gc从算法到gc阶段到写屏障等等

5.服务器优化方案

ps:当时简单回答了看CPU使用率,看MySQL慢查询日志,用普罗米修斯去监控数据库

6.接口性能优化

ps:好多方案,大概举例了11种,等我整理链接放在评论区

7.es为什么那么快(es问的比较深,好久没看了)

答:倒排索引,然后举例讲了一下怎么倒排的,内存数据库,举例高度分页会导致查询速度变

低,json数据格式,数据存储小,不确定对不对

8.高必发场景下数据如何平滑写入es

9.MySQL索引等

10.redis数据结构和场景

11.redis,hll用过吗

360集团2025全球校园招聘今日启动

【公司介绍】360成立于2005年,是世界领先、中国第一的网络安全领军企业,互联网免费安全服务的倡导者。

【招募岗位】销售运营、算法、开发、运维、视觉设计

【工作地点】北京、上海

【福利待遇】竞争力薪资+全方位福利+校招生定制培养方案

【投递链接】https://360campus.zhiye.com/campus/jobs?shareId=92cfb7e8-2ae3-49dc-b960-cf7ce3c1a6c7&shareSource=2

【内推码】ES3C3K(简历优先筛选,后续有流程上的问题欢迎随时联系)

填了内推码麻烦留言,我去确认下是否内推成功!岗位+姓名缩写格式~

#360##内推##校招##秋招##面经#
全部评论

相关推荐

11-25 16:50
已编辑
门头沟学院 golang
忧桑ing:题解: goroutine内存泄漏的情况?如何避免 goroutine内存泄漏基本上是因为异常导致阻塞, 可以导致阻塞的情况 1 死锁, goroutine 等待的锁发生了死锁情况 2 chan没有正常被关闭,导致读取读chan的goroutine阻塞 如何避免 1 避免死锁 2 正常关闭 3 使用context管理goroutine, 超时结束goroutine 协程和线程的区别 主要的区别在于协程是用户级的并非单位, 不需要进入到内核态处理. 所以协程更加轻量级, 不占用内核资源. slice和array的区别,讲一下底层的结构 array本质是一个固定数组, 内存层面就是一块固定的内存区域,不会改变, 传递的时候是拷贝一份完整数据. slice本质上是一个动态数组的封装,底层指向不是一个固定内存,可以重新指向新的内存,传递的时候底层指向相同的内存. channel的用途和使用上要注意的点,底层的结构是怎样的 channel是golang中协程之间的数据交互的重要工具,相当于与进程内的一个消息队列. 注意点: 最重要的是chan的close处理, 不然很容易出现异常, 1写数据goroutine中调用close, 2不要多次调用close, 3使用信号通知chan close了 底层结构: 环形队列(缓存数据, 无缓存的时候用不上), 读goroutine 队列(链表), 写goroutine 队列(链表), 锁 orm框架的优缺点 orm封装了对数据库的操作,并且自动转换内存数据结构和数据库字段, 优点是方便,开发效率高, 缺点是有些场景性能低, 复杂对像转换处理起来不方便. 操作系统内核态和用户态的区别,何时进入内核态or用户态 内核态: 高权限,执行系统操作,操作资源,调度管理等等 用户态: 低权限,执行用户程序操作 进入内核态: 中断(系统调用, 时间片到期等) 进入用户态: 内核态处理完成,调度用户线程处理程序 tcp和udp的区别,他们的报头结构,tcp的三次握手和四次握手的中间状态有哪些 tcp: 可靠(数据顺序接收, 数据不丢, 数据不重复), 面向连接, 字节流(需要), 性能低 udp: 不可靠, 数据包, 性能高 三次握手/四次挥手 11种状态
查看22道真题和解析
点赞 评论 收藏
分享
评论
3
2
分享
牛客网
牛客企业服务