秋招八股--项目-全部知识

📌秋招八股--项目-全部知识

腾讯

腾讯CSIG一面-后端开发

1.两分钟简要介绍一下自己以及自己的项目

这里明显面试官就是对服务器项目感兴趣,所以讲了一下我简历上的服务器项目的大致流程

2.项目当中的前端和后端使用什么协议传输的,ATP吗

答:http(ATP我有些懵的,知识储备之外)

WXG 微信支付 一面 挂

讲实习经历和项目

IEG 用户与社区 一面 挂

讲实习经历和项目

IEG 用户与社区 运营开发 一面 挂

讲实习经历和项目

1. 项目中分布式事务怎么解决的

2.XA和TCC有什么区别

3.rocketmq事务消息怎么实现

4.你说的是kafaka的事务消息吧,kafaka和rocketmq怎么选型的

5.rocketmq是怎么存储的

6.存储做了哪些优化

WXG 微信支付 一面 过

讲实习经历和项目

WXG 微信支付 面委

讲实习经历和项目

阿里

1.简单介绍项目

5.你平时开发中怎么解决问题,假如现在线上有一个告警,你的解决思路,过程

6.你们为什么要用mq,遇到过什么问题么,怎么就解决的

2.怎么理解异常,它的作用是什么,你们工作中是怎么使用的

6.线上有遇到大流量的情况么,产生了什么问题,为什么数据库2000qps就撑不住了,有想过原因么,你们当时怎么处理的

7.限流怎么做,如果让你设计一个限流系统,怎么实现

9.给了几个场景解决分布式事务问题

自我介绍,说简历里没有的东西

说几个你最近在看的技术(MySQL,多线程)

1. 先自我介绍,讲讲自己基础掌握情况,以及项目经历平时会用到哪些数据结构?

1. 扯了下项目、讲一下项目经历 redis的底层数据结构了解多少?

5 商城项目中的分布式session系统是怎么实现的?

6 redis服务器是单独的对不对?服务器访问延迟大概是多少?你觉得大概是什么数量级的?如果放在本地的内存里面,访问延迟会是多少?也是ms级别吗?

7 session的数据量有多少?

8 这两个项目都是你研究生课程上做的吗?

9 为什么你在简历上没有写一下自己的研究方向和研究内容?大概介绍一下吧

10 你没有考虑继续读博是吧?


秒杀系统

1.项目中数据库用的什么,用了哪些表。

2.用户完成了一个商品下单,数据库发生什么变化,修改哪些表。

3.如果一张表改了,另外的表没有改,怎么解决,在项目中用过吗,transaction事务具体怎么实现。(这里transaction我没答上来,二面又问到了)

miaoshagoods减库存 下订单添加事务注解

4.数据库的事务怎么实现。

5.商品表有哪些模块?查询排名第二的商品名称(存在多个一样价格的商品,就是写一个sql,秋招让写sql我就遇到两次,问的也都不难,把牛客的sql前十几道刷了我觉得就没问题了)。

方法1,先取得最大的,然后not in 最大的那个,在剩下的取最大的就是第二个。

select Max(Salary ) from Employee where Salary not in (select Max(Salary ) from Employee )

方法2,使用limit

select Salary from Employee order by Salary limit 1,1

方法3,使用limit和 offset

select Salary from Employee order by limit 1 offset 1
  • limit子句可以被用于强制SELECT语句返回指定的记录数。Limit接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的位置,第二个参数指定返回从那个记录开始往后的数量。
  • 初始记录行的偏移量是 0(而不是 1):

6.用户注册登录密码找回怎么做的。

7.秒杀系统最难的点在哪里。

8.限流在那些地方限流,怎么限流。

11.分布式session怎么实现。cookie过期怎么办;

重新登录即可。

12.不同层次的缓存怎么做的。

  • 大并发场景的瓶颈:数据库;
  • 解决方案:减少对数据库的访问,有效的手段就是加缓存,如对象缓存、页面缓存等。

13.URL缓存怎么做的,和刚刚的页面缓存有什么区别。

14.cdn(具体不了解,简单和面试官聊了一下概念)

  • 静态资源放到内容分发网络CDN服务器。由于动态内容涉及到频繁的与系统后台数据库进行交互,涉及到很多用户信息的更新,如果用CDN来进行分发,那么不能及时的更新,所以需要回源。而静态资源如视频,图片等对更新实时性要求不高,可以利用CDN。CDN对网站进行架构优化,做到网站文件的动静分离的,提升用户访问体验,实现成本可控。
  • 静态请求cdn过程:用户通过域名访问dns,dns解析出这个域名是cname管理,dns交给cname,cname会分析出距离用户最近cdn,这个cdn如果没有用户需要的静态资源,则会回源到服务器,并将静态资源缓存到cdn。
  • 对于网页这种静态资源的并发访问,业内早就有成熟的解决方案:内容分发网络(CDN)。我们可以在秒杀开始前,预先把网页的静态资源存放在CDN节点,用户在刷新界面时直接从CDN获取静态资源,从而降低刷新秒杀界面对服务器造成的压力。添加了CDN服务之后,秒杀界面有大量用户同时访问和刷新并不会给服务端带来多大压力。
    在这里插入图片描述

7.cdn什么原理,为什么要用。

4.Java秒杀是参考了网上哪些东西。

5.为什么在服务端做限流。

6.想要改进要从哪几个方面思考。

  1. 前端层面 基本可以拦截80%的请求。
  2. 中间层
  3. 后端优化
  4. 数据库层

8.想要获得更高QPS其他方面怎么简化。

9.分布式session功能的作用。

10.如何实现这种分布式,session是为了高可用吗,还是为了什么?

11.语言上实现来说还能改进吗?或者哪些模块可以改进。

12.平时学习时间分配。

13.最近在看哪方面?比如刷题有哪些理解?最近做了什么题。其他人从哪个角度来做这道题的。

14.阿里的两道笔试题后来有重新做过吗。有重新回想过吗。工作中遇到这种问题怎么处理?解决问题时到哪里搜索答案。有专门关注一些海外的技术发布吗,有做过跟踪吗?

15.对什么什么库的了解,里面的什么模块比一般第三方Jar包优秀。源码看过哪些。为什么看这些。看完源码后有哪些总结,解决了什么问题什么困惑。

2、jmeter压测怎么样

3、挑一个模块说一下你是怎么实现的

4、hashmap什么时候生效?一直不正确的话

5、Redis被击穿,雪崩,你怎么解决

6、本地多个线程时,你的hashmap怎么共享,怎么存?


蚂蚁

先自我介绍,讲讲自己基础掌握情况,以及项目经历平时会用到哪些数据结构?

字节

1. 讲一下写的项目

2. 项目中实现了协程的封装,如何实现

1. 项目中定时器的作用?

2. 如何实现的定时器?

时间轮是什么?

介绍实习经历;

Svrkit(RPC框架)的原理;

Protocol buffer相对于json的优点;

8.秒杀系统是你自己做的还是在哪个公司做的?

11.你做这个秒杀商城项目最需要考虑的点有哪些?

12.你这样相当于把一次秒杀换成了两次秒杀是吗?

13.如何实现接口地址隐藏?

14.当时为什么想要做这个项目?

15.刚在说缓存的时候,你提到了库存?

16.预减完了之后,后面创建订单没有成功,你会把这个缓存再还回去吗?

17.异步下单是怎么处理的?前端是什么样的状态?

18.你有没有压测过?能同时接受最多多少人下单?

1.学习这两个项目的背景是什么;是自己的小练习吗;秒杀怎么做的;

2.在什么时候减库存;

9 完成一个RPC框架都需要哪些模块?(泛泛的说一下就行,我当时只是简单的了解了一下RPC的作用,会调接口,没有深入了解)

因为我至今对RPC了解的还不够深入,所以就不误人子弟,放一个牛客上的字节大佬总结的RPC知识点,看他的总结:万字总结,RPC项目相关问题及解答

2.深挖项目

3.数据量很大时如何遍历数据库

4.MQ消息堆积时怎么办?

5.MQ消费失败怎么办?

6.10亿条号码,放入内存,构建一个数据结构,给一个前缀,找出符合这个前缀的所有号码。】

1. 聊聊Netty,什么是Nio,select epoll,为什么select 最大监听1024个fd,epoll的回调是通过什么函数实现的

2. 刚刚你提到了零拷贝,具体说说什么是零拷贝,什么是DMA

3. 你对dubbo 的哪个实现比较熟悉?我说可以聊聊里面一致性哈希是怎么实现的,他相比一般的哈希本质上解决了什么问题

实习经历(30分钟。项目难点、项目中使用的技术以及业务思考)

jwt是什么?原理?和cookie之间的关系(区别)

1. 讲一讲实习中做的项目

2. 项目中遇到什么挑战性问题?(技术、业务)

面试官问了一句也会写前端吗,因为本人项目中也有做前端的。

面试官详细问了一下实习做什么负责哪个板块,团队主要的技术架构,微服务还是什么。

面试官问了一下在项目(自己的项目)中担任的角色。

作为一个组长,你觉得领导一个团队最重要的是什么?怎样激发团队人员的积极性呢?

面试官挑了一个项目问「一个类似于石墨文档的项目」,为何最后没有能够做到多人实时协同编辑的功能?那了解现在业界的这种多人文档协作基本的解决方案吗?

1. 自我介绍+项目

2. 项目中的异步怎么做的?具体说说

用户密码的安全性怎么保证的?

怎样提高网站的性能:

  • ThymeLeaf 模板引擎的缓存;借助 Kafka 来异步处理事件;用 Redis 做缓存和存储存活期短的信息(如验证码);用 Elasticsearch 做全文搜索(不会吧不会吧,不会还有人用 MySQL 的全文索引吧,手动狗头.jpg);利用线程池的方式,一个线程处理一个请求,同时通过 ThreadLocal 给每个线程绑定当前请求对应的用户信息,比如通过拦截器的方式,请求到达时,检查cookie信息,然后。。。;
  • 加入帖子很多,用户数量多,怎么搞:(面试官应该是想我答分库分表,但是我没答出来)

拼多多

9.你认为哪个项目做的更成功一些

10.能介绍一下这个项目吗,为什么做,怎么做的

11.几个人做的,做了多久

12.有考虑做出来想达到什么效果吗,有达到预期吗,还有提升的空间吗

13.有遇到什么难题吗

14.成长收获是什么

15.后面还有做什么吗

16.从哪里看到拼多多的,一看到就投了吗

17.为什么投拼多多

18.有了解其他的吗

19.对部门业务有了解吗

20.找工作对工作地点有要求吗

21.考虑到离家近的原因吗

22.父母对你有要求吗


面试经验总结

  • 技术基础必须扎实:算法、数据结构、操作系统等,蚂蚁金服面试对技术的基础非常重视,基础扎实的同学有利于在前两轮突出重围。
  • 技术宽度:主要集中在高并发、多线程、分布式架构,大以及常用中间件(缓存等)的选型和比较。
  • 技术原理深入:重点还是提前准备好 JVM、多线程高并发这块。
  • 参与的项目总结:你需要清楚你所做项目的关键细节、优化、特点、原理。
  • 很多所用第三方库 &中间件等的原理,即使你不知道,也要有自己的想法能够说出如何代替实现,比如单点登录的替代方案。

整理不易🚀🚀,关注和收藏后拿走📌📌欢迎留言🧐👋📣✨
快来关注我的公众号🔎AdaCoding 和 GitHub🔎 AdaCoding123
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值