面试-大厂的后台面试经验

3,615 阅读4分钟

哎,人生不易,人嘛总需要跳出舒适圈去适应新的环境。年底去试了试水温,还好,发现不是很热。面两个,拿了两个。下面是一些经验琐谈,对于整理自己的知识体系还是有好处的。

————————————————————————————————————————

x狗笔试

1.树的前中后遍历;

2.各种树的特点与应用场景;(avl/b/b+/triel);

www.jianshu.com/p/b597aa97c…

3.布隆过滤器(原理,存在的有一定机率误判);

4.编程题: 链表反转/ 动态规划最大值;

5.数据库隔离级别,默认级别;

6.设计10亿级的数据库,每年增加1亿的数据量,用户id,性别

7.如何做到sql注入安全,防止被脱库;

8.BASE与CAP理论理解

juejin.cn/post/684490…

x狗一面

1.负载均衡中间件技术选型;

2.项目架构,网关设计实现;

3.callable和runnable的区别/实现原理;

4.各种锁与实现原理;

5.redis高可用

segmentfault.com/a/119000002… 主从-哨兵,发送指令,监控主从消息

www.cnblogs.com/leeSmall/p/… 集群 gossip分布式协议

6.mysql集群高可用、如何减少主从延时(从开发角度分析/主从通过binlog复制)

x狗二面

1.jvm性能测试与调优

2.10亿表不宕机做分表处理,流量处理,冷热数据,数据快照处理;

3.50万用户直播间打赏(一个礼物有十张图片->下发更新 考虑流量、并发、降级、redis存储下发命令)

从需求、交互、设计、功能开发都需要统一考虑

4.加密算法 https原理

segmentfault.com/a/119000002…

blog.csdn.net/qq784515681…

5.rocketmq与kafaka的区别

www.jianshu.com/p/2838890f3…

————————————————————————————————————————

x团一面

1.项目情况;

-1.1 难点与技术点-限流原理 (令牌桶与时间窗口 www.cnblogs.com/xuwc/p/9123…)

2.技术基础:

-2.1 java8特性-stream性能(blog.csdn.net/zhaoxj_2017…) -2.2 线程池参数与原理 (juejin.cn/post/684490…)

-2.3 设计模式

-2.4 死锁原理/线程死锁解决 (blog.csdn.net/liwenxia626…)

-2.5 mysql innodb索引原理(b+树)

-2.6索引使用注意事项 (最左匹配/回表/区分度)

-2.7 explain使用/事务级别

-2.8 kafaka/rocketmq技术选型(www.jianshu.com/p/2838890f3…)

4.团队管理

-3.1 成员成长计划 (需求分析/质量设计/问题解决/软件设计/创新能力-功能模块/系统/领域)

5.功能设计

-5.1 分布式id发号器设计 (blog.csdn.net/egworkspace…)

-5.2 千万级订单存储设计-可变字段存储(分表)

6.算法题目: 大数相加/满足值子序列个数

x团二面

1.快排取小于N的第K大数字/去除链表中重复的数字

2.Shell脚本编程 2010 20 2011 30 2012 40 的平均值/top命令

3.JVM加载机制/tomcat加载流程

4.线程池

————————————————————————————————————————

        由于是受了一个前端战友-百万林总,(头条哥,拿了个字节的总包xxx)的“刺激”,一个四年半的后台开发的小厂的“老兵”在仅有的业余时间(仓促准备一周)做出的尝试,自我感觉并不是很完美,但还是在面试中碾压了部分面试官。

作为一个从嵌入式开发转行的技术愤青,常年混迹新事业部,流量和数据量都远不及大厂环境,技术深度和广度都非常有限,但对自己的技术要求从未放松过,那天细数了下自己买过的技术书籍,从java编程思想到jvm虚拟机规范、从spring框架使用到实现原理、从高性能mysql到数据引擎实现原理,从tcp协议详解到netty分布式开发,从微服务体系到架构详解......数百到千之多,以至于市面上都买不到需要的书籍。(也吐槽下,现在的技术类的作品质量越来越差的问题),感慨良多,也算是对自己的从业生涯有所总结。以下几点经验可能对大家有些帮助:

从代码质量细节做起,能不能让代码写的简单,优雅。经历过五个团队,没见过几个代码写的工整的,代码如人-折射出一个人对需求的理解,对语言的精通程度,对工具框架的应用理解。

基础一定要扎实,印象深刻的是某个前辈说的,你连个tcp协议都弄不清,还搞什么网络通信?!leetcode是个好东西,坚持刷题,能让你时刻保持一个好的编码水准,业精于勤。

要具备构建自己的知识体系的能力,把学到的东西都串起来,这个能力决定了一个技术人都额高度和远度。近来跟团队成员的沟通,他们成长受限就是缺乏这个能力。

匆忙准备,匆忙总结。回首2020,已匆匆过去,期待2021自己和大家都有更好的表现。