2013应届毕业生“用友软件”校招应聘总结
公司名称:用友软件
业务领域:管理软件、ERP
公司性质:私企、股份有限公司
福利政策:五险一金等,年薪10W
应聘流程:
宣讲会现场笔试:(下附当时难住我的题目)
1.java中i++与++i的区别、
答:同C++语言中规则一样,i++先返回原来的i值再自加,++i中i先自加再返回i值。例如i=1,i++先 返回1然后i变成2,++i直接返回的2。
2.读程序,判断输出结果是什么
1 String s1 = "String"+ 1; 2 String s2 = "String"+ new Integer(1); 3 4 if(s1 == s2){ 5 System.out.println("s1 == s2"); 6 } 7 8 if(s1.equals(s2)){ 9 System.out.println("s1 equals s2"); 10 }
答:==符号是判断s1与s2的引用是否相同,由于s2中的1是用new语句新建的,故与s1中的1不同,所以s1与s2的引用不同,而值相同。所以输出为s1 equals s2。
第一轮技术面试:
用友的技术面试问的很深,内容包含数据库锁、时间复杂度、空间复杂度、java内存泄露的例子、MySQL存储引擎有哪些等。直接止步此轮~
补充知识:
1.Java内存的分类:
Java内存分为两类,第一类是栈内存,程序进入一个方法时分配给此方法的私有存储空间,用于存发放内部的局部变量,当方法结束时栈内存会释放,栈内存中的变量也被释放。第二类是堆内存,用于存放new创建的对象及其他不放在栈中的数据,采用java gc机制,用有向图维护释放。方法中的局部变量用final修饰后,放在堆中。
2.Java内存泄露的例子:
所谓内存泄露是指一个不再被程序使用的对象或变量一直占据着内存资源。在Java中,当长生命周期对象持有短生命周期对象的引用时,就可能发生内存泄露。尽管短生命周期对象已经不再需要,却因为长生命周期对象持有其引用而导致不能被回收。例如:程序中含有一个全局map对象,之后某一个方法中的局部变量被放入了此map对象中,那么当该方法结束后,局部对象一直被引用,却不再被使用。
PS:
我存在过,我遇见过,我失败过。 有些路,明明有坑却从没人放警示牌。有些事,明明是错的却没人去管。有些话,明明应该告诉后来人却没人去说。 既然没人做,那就我来吧。希望我曾经历过的挫折不再重现于后来人。希望传承能够不是只挂在嘴边。希望人模人样的“人”能够真正做人。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述