随笔分类 - 求职面试
求职、面试相关经验和资料分享。
摘要:不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。 在...
阅读全文
摘要:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://androidguy.blog.51cto.com/974126/1319659最近在网上看到一道Twitter的算法面试题,网上已经有人给出了答案,不过可能有些人没太看明白(我也未验证是否正确),现在给出一个比较好理解的答案。先看一下题目。 图1先看看图图1。可以将方块看做砖。题干很简单,问最多能放多少水。例如,图2就是图1可放的最多水(蓝色部分),如果将一块砖看做1的话,图2就是能放10个单位的水。图2再看个例子图3图3可以放17个单位的水。 上面每一个图的砖墙用int数组
阅读全文
摘要:问题1:如何判断单链表中是否存在环(即上图中从结点E到结点R组成的环)?解答:设一快一慢两个指针(实际上是两个迭代器,Node*fast,*low)同时从链表起点开始遍历,其中快指针每次移动长度为2,慢指针则为1。则若无环,开始遍历之后fast不可能与low重合,且fast或fast->next最终必然到达NULL;若有环,则fast必然不迟于low先进入环,且由于fast移动步长为2,low移动步长为1,则在low进入环后继续绕环遍历一周之前,fast必然能与low重合(至于原因,会在后面再作单独分析)。于是函数可写如下: // 若有环,encounter是fast与low重合的地方
阅读全文
摘要:1.一道SQL语句面试题,关于group by表内容:2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2005-05-10 负如果要生成下列结果, 该如何写sql语句? 胜 负2005-05-09 2 22005-05-10 1 2------------------------------------------create table #tmp(rq varchar(10),shengfu nchar(1))insert into #tmp values('2005-05-09'
阅读全文
摘要:Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.S# from (select s#,score from SC where C#=’001′) a, (select s#,score from SC where C#=’002′) b where a.score>b.score and a.s#=b.s#;2、查询平均成绩大于60分的同学的学号和平均成绩;sele
阅读全文
摘要:转自:http://www.mianwww.com/html/2011/04/8529.htmlJAVA相关基础知识1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
阅读全文
摘要:感谢IT面试群 S-北京-陈磊 的整理分享。 基础篇:操作系统、计算机网络、设计模式提高篇:WIN32、MFC与Linux 算法篇:算法与数据结构 一:操作系统 一: WIN32 一:算法 二:计算机网络 二:MFC 二:数据结构 三:设计模式 三:Linux基本命令 四:Linux编程 基础篇:操作系统、计算机网络、设计模式一:操作系统1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)5. 线程的实现方式. (也就是用户线程与内核线程的区别)6. 用户态和...
阅读全文
摘要:1.线程与进程的区别 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。也是指进程内的一个执行单元,是进程内的可调度实体。 线程与进程的区别: (1)地址空间:进程内的一个执行单元,进程至少有一个线程,它们共享进程的地址空间,而进程有自己独立的地址空间; (2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源; (3)线程是处理器调度的基本单位,但进程不是; (4)二者均可并发执行。 参考:http://blog....
阅读全文
摘要:一、简答题(本题共30分)1. 当前计算机系统一般会采用层次结构来存储数据,请介绍下典型的计算机存储系统一般分为哪几个层次,为什么采用分层存储数据能有效提高程序的执行效率?(10分)2. Unix/Linux系统中僵尸进程是如何产生的?有什么危害?如何避免?(10分)3. 简述Unix/Linux系...
阅读全文
摘要:编程题,开发岗三道都必做,前端岗和测试岗前两道必做1. implement a function of String randomAlphabetic(int count)Creats a random string whose length is the number of characters ...
阅读全文
摘要:Q. 应用集成方式有哪些?A. 应用可以采用以下方式集成:1. 共享数据库2. 批量文件传输3. 远程过程调用(RPC)4. 通过消息中间件来交换异步信息(MOM)Q. 应用集成可以采用的Web服务方式有什么?A. SOAP WS(Simple Object Access Protocal) 和RESTful Web Service(REpresentational State Transfer)Q. SOAP WS 和RESTful Web Service之间有什么不同呢?A. SOAP WS支持既远程过程调用(例如,RPC)又支持消息中间件(MOM)方式进行应用集成。而Restful We
阅读全文
摘要:招聘和面试对开发经理来说是一个无尽头的工作,虽然有时你可以从HR这边获得一些帮助,但是最后还是得由你来拍板,或者就像另一篇文章“Java 面试题:写一个字符串的反转”所说:面试开发人员不仅辛苦而且乏味,当然也有一些极好的参考,如:Joel Guerilla Guide to interviewing,但是最后录用与否你来决定。为了快速了解他们的编程能力,我已经想好要问他们字符串反转的问题。除了字符串反转的问题外,还有一道好题。Java是否支持多重继承?好了,很明显传统意义上Java并没有多继承,所以正确的答案应该是:“没有”或者“有,但是”或者“没有,但是”。单从这点就可以探索出不同的方法来。
阅读全文
摘要:Q. 对于依赖倒置原则(Dependency Inversion Principle,DIP),依赖注入(Dependency Injection,DI)和控制反转(Inversion of Control,IoC)容器,你是怎么理解的?A.依赖倒置原则(Dependency Inversion P...
阅读全文
摘要:如果你即将去一家从事大型系统研发的公司进行Java面试,不可避免的会有多线程相关的问题。下面是一些针对初学者或者新手的问题,如果你已经具备良好的基础,那么你可以跳过本文,直接尝试针对进阶水平的Java多线程编程问题及解答。关联链接: Java multi-threading-1 | Java mul...
阅读全文
摘要:在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念。理解这几个概念可以更好地帮助你去了解一些基本的原理。下面是初学者晋级中级水平需要知道的一些问题。Q.下面的代码片段中,行A和行B所标识的代码有什么区别呢? 1 public class ConstantFolding { ...
阅读全文
摘要:Java集合框架(例如基本的数据结构)里包含了最常见的Java常见面试问题。很好地理解集合框架,可以帮助你理解和利用Java的一些高级特性。下面是面试Java核心技术的一些很实用的问题。Q:最常见的数据结构有哪些,在哪些场景下应用它们?A. 大部分人都会遗漏树和图这两种数据结构。树和图都是很有用的数据结构。如果你在回答中提及到它们的话,面试者可能会对你进行进一步进行的考核。Q:你如何自己实现List,Set和Map?A:虽然Java已经提供了这些接口的经过实践证明和测试过的实现,但是面试者还是喜欢这样问,来测试你对数据结构的理解。我写的《Core Java Career Essentials》
阅读全文
摘要:ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一。你可以从这里查看全部的Java面试系列。Q.怎么配置Hibernate?A.Configuration类使用配置hibernate.cfg.xml(或者hibernate.properties)以及映射文件*.hbm.xml来创建(例如,配置和引导hibernate)SessionFactory,然后SessionFactory创建Session的实例。Session的实例是持久层服务对外提供的主要接口。hibernate.cfg.xml(或者你也可以使用hibernate.properties):这两个文件
阅读全文
摘要:ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一。你可以从这里查看全部的Java面试系列。Q.请写一段代码来计算给定文本内字符“A”的个数。分别用迭代和递归两种方式。A.假设给定文本为”AAA rating”。迭代方式就很直观,如下: 1 public class...
阅读全文
摘要:ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一。你可以从这里查看全部的Java面试系列。这篇文章介绍的常见面试题是关于重载(overloading)方法和重写(overriding)方法的。Q.下面代码片段的输出结果是什么? 1 public class MethodOverrideVsOverload { 2 public boolean equals( MethodOverrideVsOverload other ) { 3 System.out.println("MethodOverrideVsO...
阅读全文
摘要:ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一。你可以从这里查看全部的Java面试系列。Q2.下面的代码片段的输出是什么?1 Object s1 = new String("Hello");2 Object s2 = new String("Hello"); 3 4 if(s1 == s2) { 5 System.out.println("s1 and s2 are ==");6 }7 else if (s1.equals(s2)) { 8 System.out.println("s1
阅读全文