首页 科技正文

绍兴旅游景点:一份热乎乎的腾讯后端面试真题

admin 科技 2020-04-26 9 0

前言

最近有个好朋友换工作了,面了腾讯后端,跟他要了份面试真题,人人一起来探讨一下,哈哈~

腾讯后端一面

① JVM内存模子

这个可以温习一下《深入明白Java虚拟机》第12章(Java内存模子和线程)哈,也可以看看我之前的文章哈JVM常见面试题剖析

JVM内存结构:

Java内存模子图:

②cms和g1有没有领会过,它们有什么区别

  • CMS网络器是老年月的网络器,可以配合新生代的Serial和ParNew网络器一起使用;
  • G1网络器网络局限是老年月和新生代,不需要连系其他网络器使用;
  • CMS网络器以最小的停留时间为目的的网络器;
  • G1网络器可展望垃圾接纳的停留时间
  • CMS网络器是使用“符号-消灭”算法举行的垃圾接纳,容易发生内存碎片
  • G1网络器使用的是“符号-整理”算法,举行了空间整合,降低了内存空间碎片。

这个点是可以看《深入明白Java虚拟机》第三章,垃圾网络器与内存分配计谋哈

③谈谈你对垃圾接纳的领会,什么时刻发生垃圾接纳,接纳历程

可以讲JVM中一次完整的GC流程是怎样的,工具若何提升到老年月,如Minor GC,Major GC,full GC这几个讲清楚,另有工具存活判断方式,另有垃圾接纳算法,复制算法等等

这个点也是可以看《深入明白Java虚拟机》第三章,垃圾网络器与内存分配计谋哈

④ 对于数据的一致性是怎么保证的

  • 这个若是是我的思绪的话,我谈判缓存与数据库的一致性,可以看看我之前这篇文章

并发环境下,先操作数据库照样先操作缓存?

  • 也可以谈谈分布式事务下的数据一致性,也可以看看之前我的这篇文章

后端程序员必备:分布式事务基础篇

⑤ Redis集群有没有领会过,主从和选举是怎么样子的

这个可以回覆这些关键词,主从复制 ,哨兵机制等这些可以看看网上这篇啦,或者亲爱的读者,去网上看一下资料哈
Redis 主从复制架构和Sentinel哨兵机制

⑥ 看你们公司使用的是MySQL,你们使用的是哪种存储引擎,为什么?MyISAM和InnoDB的区别

  • MyISAM:若是执行大量的SELECT,MyISAM是更好的选择
  • InnoDB:若是你的数据执行大量的INSERT或UPDATE,出于性能方面的思量,应该使用InnoDB表
  • mysiam表不支持外键,而InnoDB支持

MyISAM适合:

  1. 做许多count 的盘算;
  2. 插入不频仍,查询异常频仍;
  3. 没有事务。

InnoDB适合:

  1. 列表内容 可靠性要求比较高,或者要求事务;
  2. 表更新和查询都相当的频仍,而且行锁定的机遇比较大的情形。

⑦ 索引的底层数据结构是什么,为什么选择这种数据结构

可以看看网上的这篇,写得不错~
MySQL索引为什么要用B+树实现?

⑧SQL优化,怎么判断需要优化,从哪些方面着手优化

从索引角度出发,就许多点可以讲,
这个可以看看我的这两篇文章哈~

  • 后端程序员必备:誊写高质量SQL的30条建议
  • 后端程序员必备:索引失效的十大杂症

⑨ 手写代码:设计一个分布式自增id天生服务

可以去网上找一下谜底哈,这个我也没什么思绪~参考分库分表一些想法?nginx负载平衡一些想法?哈哈,亲爱的读者,若是你会的话,可不可以告诉我呢

腾讯后端二面:

①有没有领会过网络安全问题,常见的网络攻击有哪些,原理是什么,可以怎么解决

XSS,跨站剧本攻击?CSRF,跨站请求伪造?DDOS,分布式拒绝服务攻击?SQL注入?

对于SQL注入,可以举行后台处置,好比,使用预编译语句PreparedStatement举行预处置,又好比Mybatis映射语句中,用#{xxx}而不是${}

②平时在开发接口或者设计项目的时刻若何保证安全性的

  • 署名
  • 加密
  • ip检测限流?
  • 接口幂等
  • 特殊字符实现过滤 防止xss、sql注入的攻击?

③使用Redis集群时可能会存在什么问题

数据一致性问题

④有没有领会过cap和base原则

CAP理论

CAP理论作为分布式系统的基础理论,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),这三个要素最多只能同时实现两点。

一致性(C:Consistency):

一致性是指数据在多个副本之间能否保持一致的特征。例如一个数据在某个分区节点更新之后,在其他分区节点读出来的数据也是更新之后的数据。

可用性(A:Availability):

可用性是指系统提供的服务必须一直处于可用的状态,对于用户的每一个操作请求总是能够在有限的时间内返回效果。这里的重点是"有限时间内"和"返回效果"。

分区容错性(P:Partition tolerance):

分布式系统在遇到任何网络分区故障的时刻,仍然需要能够保证对外提供知足一致性和可用性的服务。

选择 说明
CA 放弃分区容错性,增强一致性和可用性,实在就是传统的单机数据库的选择
AP 放弃一致性,分区容错性和可用性,这是许多分布式系统设计时的选择
CP 放弃可用性,追求一致性和分区容错性,网络问题会直接让整个系统不可用

BASE 理论

BASE 理论, 是对CAP中AP的一个扩展,对于我们的营业系统,我们思量牺牲一致性来换取系统的可用性和分区容错性。BASE是Basically Available(基本可用),Soft state(软状态),和 Eventually consistent(最终一致性)三个短语的缩写。

Basically Available

基本可用:通过支持局部故障而不是系统全局故障来实现的。如将用户分区在 5 个数据库服务器上,一个用户数据库的故障只影响这台特定主机那 20% 的用户,其他用户不受影响。

Soft State

软状态,状态可以有一段时间不同步

Eventually Consistent

最终一致,最终数据是一致的就可以了,而不是时时保持强一致。

⑤zk是若何保证一致性的

可以看这本书哈~
《从paxos到Zookeeper分布式一致性原理与实践》,

也可以看这篇文章:
浅析Zookeeper的一致性原理

⑥你若何设计一个能抗住大流量的系统,说说设计方案

nginx负载平衡,流量防卫兵sentinel,服务拆分,缓存,新闻行列,集群、限流、降级这些都可以搬出来啦~

⑦有没有领会过缓存计谋有哪些

  • Cache-Aside
  • Read-Through
  • Write-Through
  • Write-Behind

有兴趣照样可以看看我这篇文章,哈哈

并发环境下,先操作数据库照样先操作缓存?

小我私家民众号

Sunbet,进入申博Sunbet官网  第1张

  • 若是你是个爱学习的好孩子,可以关注我民众号,一起学习讨论。
  • 若是你以为本文有哪些不正确的地方,可以谈论,也可以关注我民众号,私聊我,人人一起学习提高哈。
,

阳光在线

阳光在线www.hengxianggo.com(原诚信在线)现已开放阳光在线手机版下载。阳光在线游戏公平、公开、公正,用实力赢取信誉。

版权声明

本文仅代表作者观点,
不代表本站Sunbet的立场。
本文系作者授权发表,未经许可,不得转载。

评论