
3月20日笔试
注意输入输出
sc.hasNext()、
System.out.printf("","");
System.out.println();
面试题
-
瀑布开发与敏捷开发
全面解析瀑布式开发和敏捷式开发 - 知乎 (zhihu.com)
通俗易懂的理解敏捷开发是什么——认知篇 - 知乎 (zhihu.com)
之前我在IPO就是敏捷开发!
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
首先把 用户(客户 )最关注的软件原型做出来,交付或上线,在实际场景中去 快速 修改弥补需求中的不足,再次发布版本。通过一些敏捷实践方式,细化story ,提供更小的迭代。如此循环,直到用户(客户)满意。适用于需求不明确、创新性或者需要抢占市场的项目。
瀑布式开发的基本流程是 需求 → 设计 → 开发 → 测试 , 是一个更倾向于严格控制的管理模式 。 要求有明确的需求,大家按照需求一步步做好规划,每一阶段工作的完成是下一阶段工作开始的前提,每一阶段都要进行严格的评审,保证各阶段的工作做得足够好时才允许进入下一阶段。这种模式一般适用于需求比较明确、to B 端的项目。集中力量办大事
不得不说瀑布项目失败率会比较高,因为它有一个很大的缺陷, 就是受各种条件的制约。当产品研发完成后, 到了产品测试阶段 万一发现问题 ,或者发现其无法满足市场需求, 那么就需要重新开发,甚至需要重新规划产品,这 间接导致了产品延期发布的高发性 与不确定性。
敏捷开发不足之处在于小团队做不到拥有开阔的视野,看不到所有团队都在一起做什么事情,大家只知道埋头苦干做好自己的部分就可以,但看不到全局,不知道全局发生了什么事情。对于一些不可分割的大需求,需要一次性派很多人手同时做的需求,敏捷开发就不再合适。 就需要瀑布式开发
2.ERP、 ERP Cloud
云ERP相比于传统ERP的区别是什么呢?
第一,传统ERP是需要安装在企业自己的硬件和服务器上,并且需要专业的维护人员去管理;但云ERP是基于云计算开发的ERP系统,部署在云服务器端,负责管理和维护的则是ERP服务商。
第二,两者在软件付费形式上也存在一定的区别,而这部分原因是在于系统部署的差异性。传统ERP的收费形式以一次性买断为主,云ERP则是可以按月或者年这样的周期来付费。不光是卖产品、还有日常的维护和后序的升级
第三,传统ERP和云ERP数据所在的存储位置不同。前者是存储在用户本地,后者则是存储在服务商上。
从以上三点区别我们可以判断出,云ERP具有降低维护成本的优势,不仅是服务器,还包括人员等。此外云ERP的灵活度更加高,可以帮助企业用户随时随地访问数据。另外由于云ERP厂商的服务器是依托于高安全级别的云主机和云数据库上,所以数据信息更加安全稳定。
SAP S/4HANA Cloud介绍 - 知乎 (zhihu.com)
利用机器学习和人工智能帮助客户进一步减少冗杂的操作
3.中台“中台”到底是什么? - 知乎 (zhihu.com)
一言以蔽之:
目的:便于高速发展的复杂应用的敏捷开发
手段:解耦,提高复用
4、项目中遇到了哪些了困难
面试问:项目中遇到过哪些问题,你是怎么解决的? - 知乎 (zhihu.com)
考察的是当你在实际工作中遇到技术难题时,有没有一种系统性的思考问题、定位问题、解决问题的方法论,或者说思维模型?
数据处理效率问题
对于很多经验比较浅的同学来说,扔给他一个数据处理任务,他可能经过各种折腾也能把这个需求给完成,但你要是用心看一眼他的代码逻辑,和这个过程中涉及到的流程设计、表设计等考验程序员核心能力的地方时,很有可能就露馅了。
可以从数据处理的时间复杂度、空间复杂度,IO效率,表设计合理性来思考。
答: 之前实习的时候 参与开发了一个订单管理系统,我主要负责的是订单文件、商品信息等文件的批量数据处理。 用少量的数据测试没有问题,但是对于大批量的文件 执行效率非常低。
mentor让我去优化,主要从表结构、IO效率、时间复杂度几个来考虑。之前每次需要用到某个数据 就去数据库中查一次 ,优化后 对于每个表 只需要查询一次,jdk8新特性 函数式编程 使用stream流来处理 ,使用Optional来做数据检查 处理结束后 再统一更新写入,大大减少了磁盘I/O次数;遍历每一条订单 两层for循环 hashmap,降低时间复杂度。
5. 最佩服的人
牛玉刚教授 已经到了快退休的年龄 仍然会关注领域最前沿的论文或者技术, ,所有作业都是自己认真批改,下次上课会仔细讲解 。很多老师上课都是读ppt ,讲课的方式比较风趣 ,晦涩难懂的定理 也能深入浅出。正好这门课是考研的专业课, 也给了我考研的动力,对学问严谨的态度 也深深的影响着我。
6.jvm jre jdk
7.面向对象
封装、继承、多态
7.1如何实现多态? 重载和重写的区别
7.2接口和抽象类的区别
8.线程和进程的区别
0.解释 1.本质 2. 内存 3.资源开销 4.包含关系 5. 影响关系
8.1 why 多线程? 1.资源开销 2. 多线程是并发的基础 3. CPU利用率
8.2死锁?
解决 两条
多线程编程的难点 :保证数据安全的基础上 提升系统性能 例如mysql的事务的隔离性是通过MVCC+写锁实现的 读写不冲突; synchroized 锁膨胀、锁消除等优化策略
9.数据库
9.1索引
优缺点
索引注意事项
9.2三范式 +自己的理解
9.3mysql优化
10.计网
10.1TCP/Ip五层
10.2 TCP/UDP
TCP可靠性:序列号、滑动窗口、拥塞控制
11.HTTP
http有哪些部分组成 我可以详细说一说响应报文的状态行的状态码 , Http版本 (1.0 /1.1)
状态码
HTTP 和 HTTPS 有什么区别?
12.设计模式 动态代理 适配器
spring快速过一遍
面经
22年第二批
[2022年SAP-VT技术岗面经_牛客网 (nowcoder.com)](2022年SAP-VT技术岗面经_牛客网
-
面向对象的设计原则(老八股了)
-
如何在频繁的代码改动中保持代码与文档的一致性
-
敏捷开发与测试驱动开发
-
结合项目说说如何做到解耦
原则:高内聚 低耦合
(109条消息) 项目设计中的解耦合_需求文档解耦_FarmerJohn的博客-优快云博客
设计模式中的 开闭原则
AOP: 全局异常处理, 消息队列
通常会将事务配置在 Service 层, 当数据库操作失败时, 让 Service 层抛出运行时异常, 而不进行 try-catch 处理, Spring 事物管理器就会进行回滚. 为了事务回滚
但 Service 层抛出后. 在 Controller 层就需要 try-catch 去捕获异常, 否则会返回原生错误信息到客户端. 但是, 如果在 Controller 层的每个方法体里面都写一些模板化的 try-catch 的代码, 代码不但不美观, 也增加了维护的难度, 特别是还需要对 Service 层的不同异常进行不同处理的时候.
-
国际化开发团队如何保证交流的质量
-
关于转语言的问题
22年第一批
[成都SAP VT项目凉经_牛客网 (nowcoder.com)](成都SAP VT项目凉经_牛客网
-
设计模式有什么:有个人乱说了一些,看大家都不会面试官就问什么是单例模式,我回答了
代理 ,适配器
-
做项目时遇到的困难:大家都说了挺多
-
进程和线程,死锁,多线程编程的难点和解决
syn的升级?
-
喜欢什么语言,为什么:大家都说了挺多
matlab python java
-
node.js node js的区别:只有一个人会,他滔滔不绝
-
node.js 怎么实现多线程(底层) 还是那个大哥滔滔不绝
-
方法重载和重写
22年第二批
[思爱普SAP VT 项目 - 研发岗位-2023届实习面试_牛客网 (nowcoder.com)](思爱普SAP VT 项目 - 研发岗位-2023届实习面试_牛客网
面试题
面试官提问,然后依次举手回答
问题如下:
-
说一说对面向对象的理解
-
说一说设计模式
-
说一说你知道的软件开发方法,比如瀑布模型,敏捷开发,测试驱动这些
算法题
都是很简单的题
-
判断循环链表
-
博弈论捡石头,leetcode292
22年第二批
[2023 SAP VT 大连-研发面经_牛客网 (nowcoder.com)](2023 SAP VT 大连-研发面经_牛客网
0.项目架构概述和发挥的作用
1.oop三个思想
2.数据库内外连接
3.接口和类的区别
.......
4.英语问题,说说自己的优缺点
5.日语问题,介绍一下你在项目中的角***r>
hr又问了一遍职业规划
22年第一批 上海