打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
二狗的面试题整理

  闲来无事,整理一下最近参加面试遇到的一些优点意思的面试题。

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节点都为空。这样就可以分辨出是否包含环了。

  

  去面试一下还是有些好处的。平常工作上虽然都能处理了,但是一是眼界被限制住了,二是很难接触到新的东西,甚至很少会去想一些这样有意思的问题。同志仍需努力,加油吧.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
C++和C#中的值传递和引用传递
ahjesus约束方法或属性的调用方
c#编程指南(十) 平台调用P-INVOKE完全掌握, 字符串和指针
详解C#委托、时间和Lambda表达式 - 51CTO.COM
C#委托之个人理解
【   】【转帖】谈C#中的Delegate
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服