杭州安节 - 区块链安全 - 一面 4.8

1. 面试官介绍公司,业务

2. 自我介绍

3. 在现在这家公司做什么,学到了什么

4. mysql索引

5. redis相关(缓存,预热,必要性,过期策略,大量key淘汰会有什么问题)

6. 进程和线程区别

7. 进程有哪些状态

8. 时间片切换

9. 虚拟内存

10. 数组和链表优缺点,插入时间复杂度

11. 二叉搜索树

12. 哈希表原理

13. 布隆过滤器原理

14. golang slice

15. 并发相关,GMP

16. goroutine和线程的上下文切换

17. 死锁条件,死锁检测

18. 区块链共识机制,智能合约

19. 开源贡献相关(seata go)

20. 项目相关(Bitcask论文相关)

21. 反问:

- 实习生能不能 wfh(不能)

全部评论
wfh 什么意思
点赞 回复 分享
发布于 04-08 20:22 河南

相关推荐

05-28 19:08
已编辑
门头沟学院 Java
突然收到面试邀请,而且没有hr电话直接就甩了个晚上的面试链接。自我感觉答得不好,估计是挂了,但面试官人很好,氛围相对轻松。public、protected、default、private​重写和重载区别JVM内存模型​类加载过程,字节码加载过程​OOM​AOP​讲讲RPC​算法题:二分查找+测试用例​TCP/IP四层模型​,那一层是IP、那一层是端口​TCP和UDP区别​三次握手及为什么三不能是两次GET和POST区别​Linux 的命令​,查看CPU情况介绍一下做过的项目​电商退款有哪些测试用例​死锁是什么及其原因​慢查询原因及如何定位慢查询​什么字段适合建立索引?innoDB跟myISAM...
一笑而过2222:1. Linux查看CPU情况:使用 top 可实时查看系统CPU整体及各进程占用率,按 1 能展示每个核心运行状态; htop 以可视化界面增强交互性; mpstat -P ALL 精准统计每个CPU核心负载; lscpu 输出CPU架构、缓存等硬件信息; vmstat 综合展示CPU、内存、IO等资源使用趋势; sar -u 基于历史数据统计CPU负载; nproc 直接获取CPU核心数量。实际分析时,先用 top 快速定位异常,再结合 mpstat 等深入排查。 2. 电商退款测试用例:功能测试覆盖全额/部分退款、不同发货状态处理、退款金额计算及多渠道返还;异常测试包含重复退款、越权操作、网络中断恢复;业务规则聚焦退款时效控制、优惠券分摊逻辑、高频退款风控;同时补充兼容性(多终端适配)和性能测试(高并发场景响应),保障退款流程稳定可靠。 3. 死锁及其原因:死锁是多进程/线程因资源竞争形成互相等待、无法推进的阻塞状态,需同时满足互斥(资源独占)、请求保持(占有资源时请求其他资源)、不可剥夺(资源不能被强制释放)、循环等待(形成资源等待环路)四个条件。常见于数据库事务交叉锁定、多线程无序获取锁等场景,可通过资源预分配、顺序加锁预防,依赖日志或线程Dump分析检测。 4. 慢查询原因及定位:慢查询根源在于索引失效(未命中或设计不当)、数据量过大导致全表扫描、复杂查询(嵌套子查询、大量JOIN)、锁冲突(行锁升级表锁)、服务器资源瓶颈(CPU/IO过载)。定位时,先启用慢查询日志并用 pt-query-digest 分析高频慢SQL,再通过 EXPLAIN 剖析执行计划,结合 SHOW ENGINE INNODB STATUS 排查锁等待,必要时借助 Performance Schema 监控资源消耗。 5. 适合建索引的字段:优先对高频出现在 WHERE 、 JOIN 、 ORDER BY 子句中的字段建索引,尤其是高选择性字段(如身份证号、手机号);组合索引遵循最左前缀原则;写入频繁字段谨慎建索引,避免影响性能;大字段类型可使用前缀索引优化查询。 6. InnoDB与MyISAM区别:InnoDB支持事务、外键和行级锁,采用聚簇索引存储数据,适合高并发读写场景,具备崩溃恢复能力;MyISAM使用表级锁,无事务支持,索引与数据分离存储, COUNT(*) 统计高效,但不适用于写密集业务。生产中InnoDB用于核心交易模块,MyISAM适用于只读统计类表。 7. InnoDB锁及表锁升级:InnoDB提供共享锁、排他锁、间隙锁等多种锁机制,并通过MVCC减少冲突。表锁升级常发生于SQL无法命中索引引发全表扫描、大事务更新大量数据导致自适应哈希索引失效、执行 ALTER TABLE 等DDL操作,以及死锁检测后强制升级场景。优化需确保索引覆盖查询,拆分大事务降低锁粒度。
查看20道真题和解析
点赞 评论 收藏
分享
2月底开学时已经是大三下了,面临着考研和找工作两条路线,思考良久后,选择了找工作这条路这时基础很差,无实习,无项目,无竞赛,说是混子不为过,平时没少玩。只会学校教的一些基础的东西,外加偶尔做做leetcode,对我来说,无论考研还是找工作,都是新的开始,都要做出取舍,内心挣扎了很久准备学c++后端,资料都找齐了,但都说吃学历,吃时间,岗位少。了解到golang可以速成,找到学习路线后就开始猛干一直学到5月20号左右,简历上已有两个简单的项目,就开始各种投递了,然后狂刷力扣,一天20道,刷完就学基础八股,我好怕突然来个面试,却因为我没准备好白白浪费掉机会,我每天都在想,如果能再给我一个月就好了最累的时候下午看着力扣窗口,大脑完全停止工作,抗拒思考,晚上回到寝室生理上的想吐,头晕,在厕所干呕机会是给有准备的人,如果没有准备又想上车,必然要付出代价真正获得offer的那一刻,伴随着喜悦的还有对未来的憧憬与焦虑分享一下个人的启发吧,希望能帮到曾经的自己😶别把自己当学生,如果现在直接被扔到社会里,想干什么,能干什么,然后抓紧去做早点思考,早点准备面试时没有必要紧张,展示真实的自己就好,比起包装,真诚和自信更重要,始终怀揣一颗学徒的心,我的每一场面试都很顺,即使面试官开始板着脸,也能用自己的真诚与尊重软化氛围,至少在我自己复盘看来,是喜欢面试时自己的表现的学习不是比谁学的久,累了就休息,效率和心态最重要代码再难最终也能找到最优解,但生活没有答案,愿我能早日当上生活的舵手,愿我永远相信自己,愿我永远不缺从头开始的勇气
点赞 评论 收藏
分享
评论
2
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务