XSKY星晨天合-后台开发岗
一面
- TCP与UDP区别
- UDP的优点(实时性好,占用资源低,无需三次握手较少被黑客利用的机会)
- UDP增加哪些功能可以实现更可靠、更稳定、且保证有序(超时重传、滑动窗口流量控制、序号/确认序号,面试官提到了kcp)
- Go Map如何实现并发安全?
- 在原生map的基础上加锁(注意控制锁的颗粒度,避免锁住整个map,可采用分段锁实现,比如:对一个大map进行hash,其内部是n个小map,根据key来来hash确定在具体的那个小map中,这样加锁的粒度就变成1/n了)
- 使用sync.Map
- Go sync.Map如何实现的?具体可参考文章:Golang sync.Map 原理(两个map实现 读写分离、适用读多写少场景)
- 写操作:直接写dirty map。
- 读操作:先读read map,没有再读dirty map。
- 优点:底层通过两个map来实现读写分离,保证线程安全的同时,降低锁时间来提高效率
- 缺点:不适用于大量写的场景,这样会导致read map读不到数据而进一步加锁读取,同时dirty map也会一直晋升为read map,整体性能较差;适用场景:适合读多写少的场景
- 原理:
sync.Map底层使用了两个原生map,一个叫read,仅用于读;一个叫dirty,用于在特定情况下存储最新写入的key-value数据:
read(这个map)好比整个sync.Map的一个“高速缓存”,当goroutine从sync.Map中读取数据时,sync.Map会首先查看read这个缓存层是否有用户需要的数据(key是否命中),如果有(命中),则通过原子操作将数据读取并返回,这是sync.Map推荐的快路径(fast path),也是为何上面基准测试结果中读操作性能极高的原因。
- sql注入的原理,解决方案。(面试官说他之前抓包查看过sql模板化的过程:其实就是MySQL内部先传sql模板,然后再传参数到模板中)
可以理解为sql模板化,通过占位符将用户传入的值当做字符串来处理,避免将用户不可预期的传入参数当做sql命令来执行。
预编译语句在被MySQL编译器编译后,执行代码会被缓存下来。那么下次调用时,只要是相同的预编译语句就再不需要编译,只要将参数直接传入编译过的语句执行代码中即可。
- 介绍下https协议,其非对称加密的过程
- https加密过程中,为什么需要第一次http的协商对称加密的密钥操作,然后再通过对称加密进行数据传输呢?(tls的两个阶段)
避免在网络传输的过程中被中间人拦截请求,即使中间人拦截了客户端的请求,也因为中间人自身没有服务端私钥,导致其不能对请求进行对称解密,从而获取不到客户端对称加密的密钥。
- 客户端收到服务端的公钥后,为什么要本地生成一个随机值作为客户端密钥,而不直接使用服务端的公钥作为客户端自身的密钥呢?
面试官说,因为性能上不允许,待了解…
- RSA算法怎么加解密的?它的public key和secret key分别是什么东西(加解密很耗时)?AES对称加密的流程呢?
- 项目介绍?
XSKY星晨天合-后台开发岗相关推荐
- 阿里云基础设施事业部Java岗、腾讯TEG后台开发岗面经(4.22更新,拿到AT双Offer)
阿里云基础设施事业部Java岗.腾讯TEG后台开发岗面经
- 美团、滴滴实习生面经(滴滴offer,Java后台开发岗)
笔者是大三本科生,一直以来在考研和参加工作两个想法之间徘徊,最终在今年3月份下定决心参加工作,之后参加了春招,投的全部是java后台开发岗实习生. 在春招过程中投了不少公司,有京东.头条.网易.美团. ...
- 今日头条/字节跳动 后台开发岗(应届生)三轮技术面试
字节跳动特重视算法,不怎么关注编程语言啊,开发框架啊什么的,比较注重考察思维能力,也会问一些基础的操作系统网络通信什么的 感觉头条的面试思路跟微软谷歌差不多 就靠算法题看编程能力 然后也问了问我读研期 ...
- 校招面试C++后台开发岗大概学习到什么程度?
2020年对我而言必定是人生当中最重要的一年.因为实习的原因,我第一次体验了北京和上海的生活,匆匆且忙碌.这一年生活当中充斥着各种求职咨询,面试,做题,仿佛一夜回到了高三.不过,我是幸运的.从寒假实习 ...
- 作业帮-后台开发岗 面经
一面 简单介绍下项目 Redis中,字典这一数据结构的底层实现 我的理解: 对Redis底层hash表的实现不熟悉,但是应该和golang中的map底层实现类似,一个buckets数组,然后对key进 ...
- 京东Java后台开发岗社招面试经验分享,4面的面经
前言 正好最近我一朋友面试京东回来,和我聊了他的面试经过,最后经过四面成功斩获offer!下面我把他所得经验毫无保留的分享给大家!希望对正准备面试小伙伴们能有所帮助!!! 京东一面 1.自我介绍 2. ...
- 阿里腾讯外包Java怎样_阿里Java岗、腾讯后台开发岗面经(拿到AT双Offer)
4.5,前段时间去面了阿里腾讯的暑期实习,腾讯总共三轮技术+一轮HR面目前已结束等结果中,阿里已经两轮技术面,听面试官说之后还有一轮交叉面和HR面,正在准备中...... 相比较来说,投腾讯的那个部门 ...
- 2020.9.23 金山云后台开发岗笔试 2道编程
子树的权重 时间限制: 3000MS 内存限制: 589824KB 题目描述: 首先按照从上到下.从左到右的顺序输入一棵满二叉树中每一个结点对应的权重,例如输入1.1.2表示二叉树的根结点的权重为1, ...
- 字节跳动一二三面面经-后台开发岗
一面 介绍下HashMap原理,介绍下红黑树,怎么变为线程安全,锁机制 介绍下JVM 介绍下MySQL,B+树,存储引擎 你的博客的登陆是怎么实现的 不使用redis存储session该怎么做 有两个 ...
最新文章
- 学习前端工程师手册--学习记录
- 可能会用到的弹出框用法
- 创新工场2018年夏令营DeepCamp第一套解答笔记
- Win10 jdk的安装以及环境变量的配置,及需要注意的坑
- python 多线程并发_寻找python大神!!!python如何多线程并发?
- ubantu-16+ndk-r14b 编译 ffmpeg-4.0.2+lame_mp3-3.99.5
- 如何去掉有背景图的a标签的边框
- Maven 私服 Version policy mismatch, cannot upload SNAPSHOT content to RELEASE repositories for file‘0’
- 新手上路:盘点「性能测试」必须弄懂的技术点
- asp教程一:创建 Active Server Page 页
- 前端项目使用阿里巴巴icon font的具体过程
- rxjs ajax query,rxjs入门之ajax封装
- 问卷调查的数据如何分析?
- Android仿苹果白色dialog
- 一张图看懂华为2019年关键业务进展
- 基于大数据的情报分析与服务系统架构设计
- Linux(CentOS7)查看虚拟机IP
- 马斯洛需求层次与产品的关系
- 【浏览器】浏览器缓存
- Java Web应用开发——作业五
热门文章
- java renameto_请慎用java的File#renameTo(File)方法(转)
- 强制重启计算机_我的计算机如何能够自行重启?
- c语言保龄球计分程序,c语言程序设计--保龄球计分系统,绝对可用,完美测试.doc...
- linux配置网络详解
- 鲁班语言软件包编译和安装指南(转)
- 【艾特淘】手淘搜索新时代来了,开启搜索短视频时代,都是免费流量
- 比例导引+弹道成型导引源程序
- 类的成员变量: 猜数字游戏:一个类A有一个成员变量v,有一个初值100。定义一个类,对A类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。
- 阿牛的EOF牛肉串(第一周I题)
- unity官方资源包Standard Assets导入错误的解决方法