ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

最新大厂程序员进阶宝典,已获万赞

2021-07-06 12:56:38  阅读:168  来源: 互联网

标签:zxid 结点 进阶 redis 宝典 线程 sid 派送 获万赞


## 一面(个人感觉回答得还不错) **1. 自我介绍** **2. 说项目,项目问的非常深**(本人提到之前做过的一篇关于FULL GC的问题定位和优化的项目以及一个多并发的项目) > 2.1 对于自己产于过项目的系统定位是否清楚? > 2.2 对于系统的各个模块是否清楚? > 2.3 每个接口的tps? > 2.4 对于上下游系统的依赖? > 2.5 对于使用到的中间件、框架是否清楚? **3. 你觉得你做的项目中最有亮点的事情?** **4. memcache redis同类中间的差异、优缺点?使用注意点有哪些?** > memcache可以存储的数据类型只有字符串类型,而redis可以存储字符,list,sorted List,hash数据类型的数据; > memcache不支持数据持久化,redis支持RDB,AOF持久化; > memcache不支持集群,redis支持redis-cluster集群 **5. redis分布式锁说说** > 我提到了redis的setnx()方法,以及使用redis的KV结构,lock作为key,key对应的value使用map结构,map中使用请求requestId作为map的key,过期时间作为map的value,获取锁使用cas算法,比较时间是否过期来获取锁和释放锁 **6. TCP,UDP** **7. 多并发项目的并发量,有没有压测过,以及QPS,请求的消息量太大,使用自己创建的任务队列会不会使内存爆?** **8. Redis集群主从数据同步** > 主从集群实现了数据的读写分离,主服务器负责读写,偏重写,从服务器只负责读。主服务器启动之后向从服务器发送日志文件,从服务器根据日志文件进行数据的更新,之后如果主服务器有写操作,也会向从服务器发送相应的写操作 **9. Zookeeper实现选举的原理** > zk的选举过程中其起始所有结点的状态为looking,当某个结点的选票超过所有结点数的一半,该结点就会成为leader,结点状态为leading,其他结点会成为followers,结点状态为following。选举的依据是(sid,zxid)数据,sid代表结点的ID,zxid代表事务ID,选举过程中每个结点第一轮选举会选举自己作为leader,将(sid,zxid)发送给其他结点,其他结点收到数据(sid,zxid)与自身的数据做比较,如果zxid比自身zxid的要大,则直接选举当前结点;如果小于,坚持选举自己;如果zxid相等,比较sid哪个大,大者作为leader。 **10. 说说分布式(我说的是Dubbo)** **11. 数据库事务,分布式数据一致性如何实现?** > 读者可以了解一下ZAB协议,我大概就是围着ZAB协议说的 **12. SpringIOC,SpringAOP** > 我简单说了说IOC,AOP的原理,以及原理依赖的模式 **13. 数据库事务的隔离级别** > 四大隔离界别:Uncommitted-read Commited-read Repeated-read Serializable分别针对数据库脏读,不可重复读,虚读问题 **14. 谈谈RPC** > RPC远程调用,说了说原理,使用到的组件,以及RPC主要的任务:序列化,传输数据,方法调用(方法对应的ID) **15. 算法题**:笔试题-最短路径问题(这道题是通过的) 某物流派送员p,需要给a、b、c、d4个快递点派送包裹,请问派送员需要选择什么的路线,才能完成最短路程的派送。假设如图派送员的起点坐标(0,0),派送路线只能沿着图中的方格边行驶,每个小格都是正方形,且边长为1,如p到d的距离就是4。随机输入n个派送点坐标,求输出最短派送路线值(从起点开始完成n个点派送并回到起始点的距离)。 > 我的做法是使用排列算法,将所有的情况排列出来,计算最短路径 ## 二面(个人感觉回答的特别垃圾,六道问题回答了两道) **1. 自我介绍** **2. 怼项目,各个角度刁难** **3. FULL GC问题排查工具** > 我做项目时其实没有使用什么工具,就是用Linux命令TOP,TOP交互命令 1,H;jsatck,jstat以及JVM的相关参数和JVM日志的查看 **4. 从事开发遇到最具有难度的问题** **5. Spring事务,嵌套事务** > 这道题其实我是被问懵了,我回答得相当不好,一直回答事务隔离那一块,面试完我总结了一下有关Spring事务相关知识点 **6. 面向接口编程的好处是什么** > 问的问题太抽象,我回答不好,面试官说不够完善 **7. 数据库两个insert同时操作同一张表,第一个线程操作一半,问第二个线程会发生什么?** > 我回答的稀巴烂,下来查了一下,大概就是说这里涉及到的锁是间歇锁,读者可以看看相关知识 **8. 说说死锁** > 举个例子,两个线程1和2,两个锁a和b,线程1拿到a锁后申请要b锁,而同时线程2已经拿到b锁,要申请a锁,两个线程之间陷入僵持状态 ## 最后 **码字不易,觉得有帮助的可以帮忙点个赞,让更多有需要的人看到** 又是一年求职季,在这里,我为各位准备了一套Java程序员精选高频面试笔试真题,来帮助大家攻下BAT的offer,题目范围从初级的Java基础到高级的分布式架构等等一系列的面试题和答案,用于给大家作为参考,**需要的可以[戳这里免费领取](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)**,以下是部分内容截图 ![架构面试专题及架构学习笔记导图.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625546117397248.jpg)

标签:zxid,结点,进阶,redis,宝典,线程,sid,派送,获万赞
来源: https://blog.51cto.com/u_15291849/2988261

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有