面经详情

当前内容设置为仅微信小程序内可见

前往微信小程序

相关推荐

9391
Java
确定通过感觉靠谱
一面 1.自我介绍、科研介绍、项目介绍、实习介绍2.实习内容涉及了redis,问了redis的数据类型,sortedset一般用于什么情况 排行榜取topK 3.redis为什么不可靠,怎么变得可靠  1)异步主从复制,没复制完master宕机  2)脑裂,master脱离连接范围,哨兵选举新的mastere,client没来得及切换继续发送到旧master,数据丢失 这里面试官还提示了并发场景,但是我只知道redis单线程上面两种情况数据丢失,有大佬解答一下吗4.实习内容涉及了MQ,问了几种MQ的对比5.事务是干什么的,事务特性,事务隔离级别,mysql默认级别,为什么是RR  1)作用:保证数据的一致性和完整性  2)特性:ACID(原子性,隔离性,持久性,一致性) 3)隔离级别:读取未提交,读取已提交,可重复读,可串行化  4)默认级别:可重复读  5)原因:当时答了在一致性和性能之间做平衡,但是后来详细看到如下解释: 低版本的MYSQL,使用RC+STATEMENT组合会导致主从不一致(1.5之前binlog只有statement格式,按照commit时间顺序保存,先插入后删除,master时先删除后插入), 但在RR级别下binlog任何格式都不会造成主从不一致,现在已经修复了问题,但沿用了老的设定 binlog不同模式: statement:每修改一条会修改数据的sql都记录在binlog 一致性问题  Row:不记录sql语句上下文相关信息,仅保存哪条记录被修改 一条update执行多次,多条数据  Mixedlevel:是以上两种level的混合使用,一般的语句修改使用statment格式保存binlog,如一些函数,statement无法完成主从复制的操作,则采用row格式保存binlog6.CAS原理,如果比较不相等会怎么样,自旋锁为什么要不断重试,CAS性能什么时候比锁差  1)原理: CAS是比较值,如果值相等则变换,不相等只返回当前值,多线程下会自旋竞争  2)这个我也不大会,感觉是因为用到CAS自旋,默认是乐观情况,几乎不存在竞争,不断重试等待保持者释放锁就立刻竞争? 3)单核CPU?7. linux命令,看进程id,端口状态  1) 进程id:ps -ef  2) 具体端口状态: netstat -anp |grep 端口号8. 数据库,mysql索引,插入数据索引维护,最坏会发生什么  1) B+树 blabla  2)整个树进行一个平衡的调整9.四次挥手,close_wait和time_wait是什么,如果出现大量time_wait会是什么原因 1)四次挥手 blabla 2)close_wait 服务端还有消息没法送完时候 3) time_wait 客户端 最后的ACK发送完等待2MSL时间,如果丢失重发时间2MSL,上一次链接的消息完全消失  4) 出现大量time_wait: 在 高并发短连接 的TCP服务器上,当服务器处理完请求后立刻主动正常关闭连接。这个场景下会出现大量socket处于TIME_WAIT状态。如果客户端的并发量持续很高,此时部分客户端就会显示连接不上。 具体一点,短连接表示“业务处理+传输数据的时间 远远小于 TIMEWAIT超时的时间”的连接。比如取一个web页面,1秒钟的http短连接处理完业务,在关闭连接之后,这个业务用过的端口会停留在TIMEWAIT状态几分钟,而这几分钟,其他HTTP请求来临的时候是无法占用此端口的。这样大量端口占用造成严重的资源浪费 至于如何处理的话,” 打开系统的TIMEWAIT重用和快速回收“ 10.反问...查看更多
2 年前 发布
匿名用户
Java开发工程师
未通过未通过
1. 上来先谈项目,问你做的哪些模块,之前做的金融,我说到了额度这一块,用的Redis,有趣的来了。 面试官问:“你们项目怎么用redis的?” 答:“用的字符串,当天占用的额度放在redis里,lua脚本直接在redis里加减这个额度。” 面试官:“那你怎么保证数据的一致性的?比如你前面get了这个额度,后面另一个订单修改了这个额度” 答:“用的lua脚本,get,incrby作为一个原子操作。” 面试官并不知道LUA脚本,然后吵起来了。对,吵起来了。 2. 那你说下redis的其他几种数据类型吧,简单介绍下各个类型。 3. 那你有知道redis的部署方式吗?(当时没听清。。还在后悔吵架,听成了个保护方式。。一连蒙蔽,我还重复问了一遍”保护方式?“,他说嗯,那我就说不知道,现在才想起来问的是部署方式。。就单机、主从+哨兵、集群这些) 4. 说说throwable下都有哪些异常?常见的要捕获的异常有哪些? 5. 讲讲集合(讲了得10分钟,从ArrayList到LinkedList,Set,从HashMap到HashTable到ConcurrentHashMap,数据结构,线程安全问题,哈希碰撞,全讲了一遍) 6. 讲讲线程池 7. 获取一个线程的结果 8. 讲讲springMVC的流程 9. 说说spring中的事务传播方式 10. 你们在项目中怎么运用spring事务的 ## MYSQL 11. 怎么优化sql的 12. 隔离级别 13. MYSQL默认的隔离级别是啥?会造成什么问题?(MVCC我也提了一嘴,但是他没有问我MVCC) 14. SQL题,第一个记不太清了,两个表,A,B有外键,大概是要把B表的一个字段update到A表,注意外键 15. SQL题,一个表,id,姓名name,科目course,查科目大于2的学生,去掉重复的科目? ## 前端(我说用vue比较多,js了解也不深) 16. 根据name获取一个input框(多少年没写了,就说了document) 17. 获取一个select下拉菜单的值 ## 反问环节 不是很愉快的一次面试经历,TA事业部。 约好上午10点钉钉视频,然后九点左右,HR来消息说换了面试官,可以理解。 然后10点过了10多分钟,他打来了电话,说电话面试就行了,但是他那边声音十分嘈杂,问个问题我都得反复的问:“不好意思没听清,麻烦再说一遍”。我认为这样双方都会很烦。 问问题浅尝辄止,没有更深层次的去问,没能学到点什么,感觉就像在考察背诵课文。 答上了十之八九,然后过了一会儿HR说挂了,说实话也算是不出意外了,开始吵起来,就感觉没啥戏了。 唯一能算得上是学到的经验可能就是别和面试官杠了吧,呵呵。...查看更多
2 年前 发布

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网安徽威斯特安徽威斯特面试经验安徽威斯特面试经验:面试官技术水平一般,面试抓不住重点
正在招聘java 只要有能力薪资随你开2 个岗位