一面

  • 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星晨天合-后台开发岗相关推荐

  1. 阿里云基础设施事业部Java岗、腾讯TEG后台开发岗面经(4.22更新,拿到AT双Offer)

    阿里云基础设施事业部Java岗.腾讯TEG后台开发岗面经

  2. 美团、滴滴实习生面经(滴滴offer,Java后台开发岗)

    笔者是大三本科生,一直以来在考研和参加工作两个想法之间徘徊,最终在今年3月份下定决心参加工作,之后参加了春招,投的全部是java后台开发岗实习生. 在春招过程中投了不少公司,有京东.头条.网易.美团. ...

  3. 今日头条/字节跳动 后台开发岗(应届生)三轮技术面试

    字节跳动特重视算法,不怎么关注编程语言啊,开发框架啊什么的,比较注重考察思维能力,也会问一些基础的操作系统网络通信什么的 感觉头条的面试思路跟微软谷歌差不多 就靠算法题看编程能力 然后也问了问我读研期 ...

  4. 校招面试C++后台开发岗大概学习到什么程度?

    2020年对我而言必定是人生当中最重要的一年.因为实习的原因,我第一次体验了北京和上海的生活,匆匆且忙碌.这一年生活当中充斥着各种求职咨询,面试,做题,仿佛一夜回到了高三.不过,我是幸运的.从寒假实习 ...

  5. 作业帮-后台开发岗 面经

    一面 简单介绍下项目 Redis中,字典这一数据结构的底层实现 我的理解: 对Redis底层hash表的实现不熟悉,但是应该和golang中的map底层实现类似,一个buckets数组,然后对key进 ...

  6. 京东Java后台开发岗社招面试经验分享,4面的面经

    前言 正好最近我一朋友面试京东回来,和我聊了他的面试经过,最后经过四面成功斩获offer!下面我把他所得经验毫无保留的分享给大家!希望对正准备面试小伙伴们能有所帮助!!! 京东一面 1.自我介绍 2. ...

  7. 阿里腾讯外包Java怎样_阿里Java岗、腾讯后台开发岗面经(拿到AT双Offer)

    4.5,前段时间去面了阿里腾讯的暑期实习,腾讯总共三轮技术+一轮HR面目前已结束等结果中,阿里已经两轮技术面,听面试官说之后还有一轮交叉面和HR面,正在准备中...... 相比较来说,投腾讯的那个部门 ...

  8. 2020.9.23 金山云后台开发岗笔试 2道编程

    子树的权重 时间限制: 3000MS 内存限制: 589824KB 题目描述: 首先按照从上到下.从左到右的顺序输入一棵满二叉树中每一个结点对应的权重,例如输入1.1.2表示二叉树的根结点的权重为1, ...

  9. 字节跳动一二三面面经-后台开发岗

    一面 介绍下HashMap原理,介绍下红黑树,怎么变为线程安全,锁机制 介绍下JVM 介绍下MySQL,B+树,存储引擎 你的博客的登陆是怎么实现的 不使用redis存储session该怎么做 有两个 ...

最新文章

  1. 学习前端工程师手册--学习记录
  2. 可能会用到的弹出框用法
  3. 创新工场2018年夏令营DeepCamp第一套解答笔记
  4. Win10 jdk的安装以及环境变量的配置,及需要注意的坑
  5. python 多线程并发_寻找python大神!!!python如何多线程并发?
  6. ubantu-16+ndk-r14b 编译 ffmpeg-4.0.2+lame_mp3-3.99.5
  7. 如何去掉有背景图的a标签的边框
  8. Maven 私服 Version policy mismatch, cannot upload SNAPSHOT content to RELEASE repositories for file‘0’
  9. 新手上路:盘点「性能测试」必须弄懂的技术点
  10. asp教程一:创建 Active Server Page 页
  11. 前端项目使用阿里巴巴icon font的具体过程
  12. rxjs ajax query,rxjs入门之ajax封装
  13. 问卷调查的数据如何分析?
  14. Android仿苹果白色dialog
  15. 一张图看懂华为2019年关键业务进展
  16. 基于大数据的情报分析与服务系统架构设计
  17. Linux(CentOS7)查看虚拟机IP
  18. 马斯洛需求层次与产品的关系
  19. 【浏览器】浏览器缓存
  20. Java Web应用开发——作业五

热门文章

  1. java renameto_请慎用java的File#renameTo(File)方法(转)
  2. 强制重启计算机_我的计算机如何能够自行重启?
  3. c语言保龄球计分程序,c语言程序设计--保龄球计分系统,绝对可用,完美测试.doc...
  4. linux配置网络详解
  5. 鲁班语言软件包编译和安装指南(转)
  6. 【艾特淘】手淘搜索新时代来了,开启搜索短视频时代,都是免费流量
  7. 比例导引+弹道成型导引源程序
  8. 类的成员变量: 猜数字游戏:一个类A有一个成员变量v,有一个初值100。定义一个类,对A类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。
  9. 阿牛的EOF牛肉串(第一周I题)
  10. unity官方资源包Standard Assets导入错误的解决方法