算法刷题
大厂面试还是很注重算法题的,尤其是字节跳动,算法是问的比较多的,关于算法,推荐《LeetCode》和《算法的乐趣》,这两本我也有电子版,字节跳动、阿里、美团等大厂面试题(含答案+解析)、学习笔记、Xmind思维导图均可以分享给大家学习。
写在最后
最后,对所以做Java的朋友提几点建议,也是我的个人心得:
-
疯狂编程
-
学习效果可视化
-
写博客
-
阅读优秀代码
-
心态调整
如标题所示,我的个人背景非常简单,Java开发经验1年半,学历普通,2本本科毕业,毕业后出来就一直在Crud,在公司每天重复的工作对我的技术提升并没有什么帮助,但小镇出来的我也深知自我努力的重要性,想要改变“命运”,没有背景没有资本的人,只能通过勤奋获得。
幸运女神往往会眷顾努力的人,所以当好运降临到我头上,我并不诧异,目前拿到了美团30K的offer,下文也不说废话,主要分享我这次“美团面试经历”和“个人学习方法”,希望能帮助到你们。
双汇发展
内容过多,无法在文章全部阐述,下文的面试题以及学习资料都有整理在pdf里,需要完整pdf版的,添加下方小助手VX即可
=======================================================================================================================================================================================================
美团面试经历(还原最真实的4面)
================
美团一面:
1、自我介绍
2、聊项目相关
-
介绍项目
-
怎么保证redis与Mysql的数据一致性
-
见你写了个加随机数预防缓存雪崩,解释一下
-
未改进和改进后的Jmter测试性能对比
3、Redis
-
为什么选择Redis作为缓存?
-
为什么Redis的性能十分的高?
-
说一下单进程、单线程的Redis和你平时写的多线程程序的对比
-
如何保证Redis的高可用?(哨兵、持久化策略RDB、AOF)
-
解释一下哨兵、RDB、AOF
-
主从一致性
-
Redis数据淘汰策略
-
能说一下分布式事务吗?
-
setnx是事务吗?
4、Mysql
-
解释一下事务
-
讲一讲事务隔离级别
-
为什么使用B+树作为索引
-
聚簇索引和非聚簇索引的区别
5、Java
-
Java是如何保证其安全性的
-
刚见你说了Java 内存泄漏问题,解释一下什么情况下会出现
-
说一下BIO、NIO、AIO
6、手撕算法
-
一个数组找出出现次数最多的一个数,如果多个数出现的次数相同则输出第一个
-
生产者消费者(一对一)
7、其它
-
平时怎么学习的
-
有什么需要问的吗?
美团二面:
1、手撕算法
-
10个多线程保证 i从0加到10 (差点翻车,主线程忙等另外10个线程完结)
-
反转链表
-
上台阶(n=80)
2、操作系统
-
常用的linux命令说一下
-
操作系统中的信号 和 信号量有什么关系
-
epoll 和 Selector 有什么区别?
3、计算机网络
- 说一下拥塞控制
4、数据结构
-
说一下红黑树,你平时用的技术哪里用到了它?
-
哈希表怎么处理冲突?
5、项目相关
-
把项目放到服务器上运行的时候有没有遇到什么问题?查看项目运行的状态怎么做?
-
spring 和 springboot的关系你是怎么理解的?
-
Spring IOC和AOP说一下你的理解
-
为什么用消息队列?
-
对于消息的重复消费你有什么设计方案吗?
美团三面:
-
你怎么学的Java啊?
-
设计模式了解吗?单例讲一下,懒汉饿汉double-check,怎么实现。策略模式,外观模式,适配器模式,装饰器模式,分别讲一下
-
联合索引什么时候不会触发索引?
-
AOP了解么,有什么好处,如何使用,怎么实现的?
-
支付宝到银行的转账业务怎么实现?
-
redis实现分布式锁
-
三台机器集群,按不同权重访问,怎么做?
美团四面(hr):
-
先介绍一下你自己吧
-
说一下四种IO模型
-
平时怎么去学习的?
-
为什么你说学习了要去实践?
-
说一下的最大的优点和缺点
-
举一下你缺点的例子
-
想象一下你几十年后是怎样的生活?
-
你觉得最痛苦的一段时间
-
对你影响最大的一件事情
-
在安排活动的过程中有没有发生什么冲突?
-
你有什么崇拜的人吗?
-
你有什么想问的?
基础学习:
前端最基础的就是 HTML , CSS 和 JavaScript 。
网页设计:HTML和CSS基础知识的学习
HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。
动态交互:JavaScript基础的学习
JavaScript是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的轮换。可以这么理解,有动画的,有交互的一般都是用JavaScript来实现的。