二狗的面试题整理
程序员文章站
2022-07-05 08:11:39
闲来无事,整理一下最近参加面试遇到的一些优点意思的面试题。 1. finally与return相关的问题 大家直接看代码吧 try语句块内执行return语句后,finally里的语句还会执行嘛?答案是肯定的。 原理可以参考这篇博文,传送门。 结论是finally中的代码始终都会执行。 2. 4G的 ......
闲来无事,整理一下最近参加面试遇到的一些优点意思的面试题。
1. finally与return相关的问题
大家直接看代码吧
using system; namespace testreturn { public class program { public static void main(string[] args) { console.writeline("hello world!"); testreturn(); console.readline(); testreturn2(); console.readline(); } private static void testreturn() { console.writeline("1"); try { console.writeline("2"); return; } catch { console.writeline("3"); } finally { console.writeline("4"); } console.writeline("5"); } private static void testreturn2() { console.writeline("o1"); try { console.writeline("o2"); throw new exception(); } catch { console.writeline("o3"); return; } finally { console.writeline("o4"); } console.writeline("o5"); } } }
try语句块内执行return语句后,finally里的语句还会执行嘛?答案是肯定的。
原理可以参考这篇博文,。
结论是finally中的代码始终都会执行。
2. 4g的内存怎么读取大小为8g的文件?
大致思路是分块读,每一部分的大小都小于4g,然后利用yield进行返回。另外,在linux系统下,还可以使用split方法将大文件拆成小文件去读。
3. 怎样判断一个链表是否有环?
最经典的方法就是快慢指针了。思路大概是这样:从起点开始,分别设置两个指针,满指针每次的步长为n,快指针的步长为2n。这样,如果确实有环存在,那么必然存在快慢指针再次相遇的时候。如果没有环,最终结果是快慢指针都的next节点都为空。这样就可以分辨出是否包含环了。
去面试一下还是有些好处的。平常工作上虽然都能处理了,但是一是眼界被限制住了,二是很难接触到新的东西,甚至很少会去想一些这样有意思的问题。同志仍需努力,加油吧.
上一篇: 批量处理
下一篇: c#设计模式之单例模式