06.10宁银消金后端开发岗面经

总结:面了十几分钟,问的八股我准备的不是很好,有点尴尬#牛客AI配图神器#

通用问题
1.有了解我们宁银消金吗
2.你父母的职业
3.你未来的打算
4.你是网络安全专业,以后会从事这个方向吗
5.问了去单位实习的内容
6.你gap一年是在备考吗
7.你有做过后端开发项目吗,为什么要来后端开发呢

八股
1.Spring前后端的参数传递方式有哪些
一共有五种方式。
第一种是路径传参,可以直接通过url传参
@GETMapping("/users/{id})
public User getUser(PathVaraiable("id") Long userId)
将id绑定到userId上
用途:标识唯一资源(用户ID,订单号等等)

第二种是查询参数QueryParameters
通过URL的?key=value传入,用于筛选数据
可以传递附加条件(筛选,排序,分页等等)
public String getUsers(RequestParam("name") String name,RequestParam (age) int age)

第三种是请求体传参(@RequestBody)
@RequestBody可以将JSON格式绑定到JSON对象上

第四种是表单参数(Form Parameters)
使用Request Param
支持url编码和form-data(可以文件上传)
主要用于POST/PUT请求
会隐藏在请求体中,是不可见的

第五种是请求头参数,通过HTTP请求传递信息(如认证令牌)
实现方式:使用@RequestHeader注解来绑定信息)
@GetMapping("/auth")
public String checkAuth(@RequestHeader("Authorization") String token) {
    // 验证token
}

2.抽象类和抽象接口有了解吗
抽象类定义 多个相关类有共同属性和部分共享逻辑,就可以抽象出一个抽象类

抽象接口定义 声明一组无关类需实现的能力(例如Comparable定义比较规则)
它可以实现多继承效果

面试官​:抽象类和接口的区别是什么?
​回答​:

​核心目的不同​:抽象类为相关类提供通用模板(is-a),接口定义行为规范(can-do)。
​代码灵活性​:抽象类支持部分方法实现,接口通过默认方法向后兼容。
​继承机制​:抽象类单继承,接口多实现,适用不同扩展需求。

选择依据​:
用抽象类:多个类共享状态和部分行为(如动物类族)。
用接口:定义跨类能力(如序列化、比较)或实现多态

3.面向对象的五大原则

面向对象的五大设计原则(SOLID)是构建可维护、可扩展软件的核心准则,以下是具体解析及实践要点:

📌 一、单一职责原则(SRP, Single Responsibility Principle)
 核心思想 :一个类只应有一个引起变化的原因。
● 作用 :避免职责扩散导致的高耦合。例如,职员类若同时处理工程师、销售、经理的职责,会导致方法内充斥条件判断,任何需求变更都可能影响整体。
● 实践建议 :按功能拆分模块。如图片加载框架中,将图片加载与缓存分离为两个独立类。

🔄 二、开放封闭原则(OCP, Open-Closed Principle)
 核心思想 :对扩展开放,对修改封闭。
● 作用 :通过抽象隔离变化。例如银行业务中,通过IBankProcess接口定义流程,新增基金业务只需扩展FundProcess类,无需修改原有代码。
● 实现方式 : 使用策略模式(Strategy)或模板方法模式(Template Method)。
○依赖抽象接口而非具体实现。

🔁 三、里氏替换原则(LSP, Liskov Substitution Principle)
 核心思想 :子类必须能替换父类且不影响程序正确性。
● 作用 :确保继承关系的合理性。反例:正方形继承长方形时,若修改setWidth()会同时改变高度,破坏行为一致性。
● 关键点 : 子类方法的前置条件不能比父类更严格,后置条件不能更宽松。
○避免重写父类非抽象方法。
🧩 四、接口隔离原则(ISP, Interface Segregation Principle)
 核心思想 :客户端不应依赖其不需要的接口。
● 作用 :避免“臃肿接口”。例如电商订单系统,为门户(查询)、外部系统(插入)、后台(全功能)分别定义专用接口。
● 实践建议 : 按角色拆分接口,如IOrderForPortal仅含getOrder()。
○避免强制实现无关方法,减少依赖污染。

⬇️ 五、依赖倒置原则(DIP, Dependency Inversion Principle)
 核心思想 :
1.高层模块不依赖低层模块,二者依赖抽象;
2.抽象不依赖细节,细节依赖抽象。
● 作用 :解耦模块关系。如图片框架中,业务逻辑依赖ImageCache抽象接口,而非具体的内存或本地缓存实现类。
● 实现方式 : 依赖注入(DI)或工厂模式。
全部评论
这是一面还是二面啊
点赞 回复 分享
发布于 06-16 16:00 湖北
结果如何
点赞 回复 分享
发布于 06-16 14:35 浙江

相关推荐

06-10 11:20
测试其它
第一个面试官- 那我们就开始吧好吧?那首先同学麻烦你先做个自我介绍。- 好的,我这边有几个问题想想跟你提问,首先的话我看到你简历上面写的毕业时间是2027年的7月1号,你现在是大几- 也就是说你要再过两年才能毕业对吧?- 然后的话我现在看到,因为你现在毕业学院的话是在XX学院,对,那就是说上学都是在XX这边的对吧?- 然后我们现在公司的话现在是在上海这一块,你这个是怎么平衡的?- 租房这个没问题,就是我的意思是你现在不是还没有毕业大二嘛,那你现在的话下学期大三大四,你多多少少还有一些课的,那这个怎么办?- 好的呀。另外的话你上海这边有朋友会有亲戚在吗?- 因为为什么我问这个呢?因为你现在是大二,你入职如果说你入职的话,你在这边的薪资可能会有点入不敷出。----第二个面试官- 好的,那我们这些基本问题解决了,那我这边问几个这个跟技术有关的问题,那个之前我看到你这边打的是CTf,这个是什么时候的事情?- 那能大致跟我们讲一下你这个CTf的整个一个攻防的一个过程,大概里面有些哪些内容?- 然后你现在学的专业里面,你觉得哪一门科目你学的比较好一点?- 好的,那除了就是我们刚刚讲的这些以外,你现在就是你考过有没有考过一些证书之类的证书比如说csp nsp。思科的、华为的或者说虹猫- 没关系的,因为我看你这个这些比赛都参加过,都还没那我再简单问一下那个我举个例子,举个帮我们简单讲一下SQL注入是一个什么原理好吗?- 好的,那你现在给我三种能够解决这个问题的办法- 好的,之前你在参加这种攻防比赛,还有这个服务器搭建的过程当中,有接触过国产的一些设备吗?------第三个面试官- 你好,我这边看到你参加了比赛,那你能讲一下你比赛中印象最深刻的一道题是什么样的- 可以,我看你简历上还写了,说你做过那种红队,那你在红队里面是做一个什么职责呢?都做了哪些工作?- 看你这边做过那个开发的一些项目,使用了那个jwt做鉴权,对。请你讲一下那个JWT的攻击思路- 那你在那个开发里面做了那个XSS的那个防护,你可以讲一下你的防护的思路- 除了过滤,还有没有什么办法可以做那个XSS的防护?- 关于SQL注入,你有听说过那个预编译的那个修复方式- 有一些地方预编译会失效,你有了解过吗?----第四个面试官-  同学你好,我想问两个问题比较简单,第一个就是我想了解一下就是你到我们公司来做实习的话,大概是有一个什么目标?- 好的,然后第二个问题的话就是说因为其实现在才大二嘛,然后我是想知道一下就是大二就出来的一个实习的一个驱动力是什么?-----反问- Q: 我想问的是你们觉得新人第一个月最重要目标是什么?  - A: 我觉得首先你如果说入职以后第一个月的话,首先先是了解公司的一些基本的一些要求,公司的一些运行的原理,另外就是说会需要明确一下自己的一个岗位和自己的一个工作目标,因为我们这边的客户用户都是比较重要,而且都是因为我们公司是国企面对的都是一些政府企业和一些国企,国企,所以这一块的话一个是工作的除除了技术以外,一些基本的礼仪还有一些因为我们这边是做网络安全的很大一块的话,其实是有一些保密的原则,保密的协议,还有一些就是说我们要获得用户的一些授权才能去往下做一些安全的事情,那这一块肯定是区别于我们的靶场和我们 CTf一些实战的这些是有这些区别在里面,就是说工作这一块的话,流程授权这一块的,可能要第一个月可能先要了解一下,因为技术这一块的话慢慢提升这个都没有问题就是说在公司的一些要求和一些我们做安全领域上面的一些操守或者说时间流程,这些我觉得是先要了解和注意的。- Q: 还有个问题就是我们这这个安全团队平时怎么协作?就是如果发生安全事故,如果发生安全事事件,那么响应流程应该是这样,我应该参加哪些环节?  - A: 是这样子,因为我们公司这一块的话是分三线团队的,就是一线的话,我们是在用户现场负责项目现场用户的一些日常的报修,或者一些简单的事件,然后二线和三线呢一般是由我们公司或者说你入职以后,你的这个岗位可能更加偏向于二三线的这个安全问题的解决那这一块我们是根据事件它是有一个分类分级的,去进行一个处置,比如说我前面讲了客户现场一些日常性的问题由我们一线团队去解决,比如说发生了一些重大的安全问题,比如说我们的网站的网页被篡改,或者说我们发生了一些进行一个启动进行一个问题的遏制,恢复溯源到最后的一个恢复,会有这么一个流程在里面。然后你入局以后,这个严重程度已经到了一个我们安全的一个相对严重的一个程度时候,你要协助就是到现场或者说远程协助现场的一线团队的工程师完成这个问题的阻断,首先是完成阻断,然后是保存我们的这个问题的服务器,然后最后是完成这个恢复,协助现场发现问题解决问题。还有很多细节的,包括流程,包括的一些输入输出,还有很多已经简单的就就是这么- Q: 那最后一个问题就是团队里最高那种高表现者,他们他们是怎么样完成工作的,就能举个例子吗?  - A: 我们安全研究院主要是做那个渗透安全研究这一块的,一般来说的话就是我们会有一个内部会有一个排名,就是你平时渗透就是大家都是有空就是一起做的,然后就是挖的漏洞会有一个评级,会有高位中位低位,那么就是在在渗透的时候一般就是会比较厉害的那些,就是会挖一些很多高危什么的这些,就是大家漏洞都是看得到的,都可以互相学习,然后会有一个排名,然后就是可以还有就是安全研究这一块的话,就是大家基本上就是安全研究文章的输出嘛,就是可能会大家就是题题目是不限的就是只要你有那个安全研究的成果就可以写出来那个文章,然后这个也是有一个排名,
查看24道真题和解析
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

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