没打算换工作,也没刷过简历,很奇怪突然接到华为的电话。向对方标明了对现在单位很满意,近期不考虑换工作,但仍执意让我去聊聊,想想还是去吧,很久没有面试了,不知道自己是否还在状态,正好见识一下华为。
简单说一下我的情况,现在大学刚毕业不到一年。从高一开始从事独立游戏开发,主要做电子词典平台,大学期间开始做手机平台。热爱移动平台的游戏开发,热爱java以及OOA、OOD。
技术面试了很久,问了我很多问题,还做了一些笔试,总结一下大体分为如下内容:
1.常用的设计模式
2.JAVA多线程问题
3.JAVA虚拟机如何工作
4.一些操作系统知识(进程、线程之类)
5.JAVA基础知识(异常机制、集合类、对象比较、反射)
简单的问题就不说了,挑几个我认为还蛮值得深入的讲一讲,个人能力有限,资深开发者请绕道。
设计模式方面,基本上掌握常见的几个模式就能应付一般面试了,比如单例、工厂模式、装饰者模式、模版模式等。华为让我写了一个单例模式的例子,没什么难度。
多线程方面,主要问了同步的两种方法,synchronized以及wait、notify以及为什么同步。有一题是“在一个线程中开启另一个线程,主线程挂掉了,那子线程是不是也跟着挂了?”,线程之间是相互独立的,如果不是守护线程不会相互影响。考官还说“程序都退出了线程是不是也退出了”之类的话来混淆,这里主要注意线程与进程的区别。
虚拟机方面,问了java与C垃圾回收的区别,JVM如何进行垃圾回收。除了流、数据库、网络连接等需要手动释放,一般对象只要被JVM检查到没有引用就会被回收掉,所以不用的对象要及时置null,流要及时close以便JVM进行垃圾回收。
JAVA基础知识方面,都是些面试常见的问题,平时多接触接触就没什么难度了。
1)运行时异常与普通异常什么区别?例举几个运行时异常。
普通异常必须捕获,运行时异常反之。
IllegalArgumentException、NullPointerException、IndexOutOfBoundsException
2)ArrayList、Vector、LinkList之间的区别?
ArrayList、Vector以数组方式存储,索引数据快而插入数据慢;
LinkList以双链表存储,索引数据慢而插入数据快;
ArrayList不同步,Vector是同步的。
3)HashTable与HashMap的区别?
HashMap是HashTable的轻量级实现,允许空键值对,非同步。
4)对象排序要实现什么接口,调用什么方法?
实现Comparator接口,重写compare方法;Collections.sort() 。
5)
int fun(int a,int b)
{
try{
if(a/b>0) return 1;
}
catch(Exception e){
return 2;
}
finnally{
return 3;
}
}
a、b传不同值时返回值是多少?
不管传什么都返回3。
6)编写一段代码,实现判断控制台输入的字符是不是回文,如121、112211、abcba。
算法没什么难度,主要注意各种细节,比如输入空、只输入一个字符如何处理。这题其实主要考察开发人员编码规范程度,变量名是否规范?逻辑是否清晰?方法拆分是否合理?
技术面试就这些,其实也都是做java常见的基础问题。但我觉得验证一个开发人员的实力还是要看其OOA、OOD的能力,华为似乎只是想招一个编码机器。
人力面试,这就比较复杂了,华为的人力都能说会道,言辞犀利,他们会抓住每一个细节来考察你的人品。还有一个群体面试,就是几个应聘者在一起自我介绍,合作答题什么的,注重考察团队意识、观察能力甚至抗压能力。我是觉得这些很无聊,心里很清楚公司想要什么样的人,只要尽量表现得积极合作、自信、谦让就能博得考官的认可。
基本上过了这三面,就没问题了,然后就是见老大。到这里我回绝了,呵呵,因为该见识该了解的都完成了,没必要再浪费双方的时间精力。而且对方让我去平台中间件项目组工作,不是很对口,薪水倒是很心动,但还是打算坚持游戏开发的理想,希望以后自己不要后悔吧。
分享到:
相关推荐
根据给定文件的信息,我们可以总结出...综上所述,以上总结的知识点涵盖了网络安全、Web服务架构、数据库技术、软件开发框架等多个方面,这些都是在华为面试中可能会考察到的重要知识点。希望这些内容对你有所帮助。
#### 五、小结 华为群面虽然具有一定的挑战性,但通过适当的准备和策略调整,完全可以取得较好的效果。应聘者应当注重提升自身的综合素质,尤其是在团队协作、沟通技巧和领导力等方面的能力,这样才能在群面中...
测试小结是对测试执行情况的反馈,而测试报告则是对整个测试流程的总结,为后续的开发和产品迭代提供了重要的参考。 工作流测试是一个专门针对业务流程的测试类型。在这个过程中,测试人员需要深入理解业务需求,...
然后执行测试,进行测试小结和编写测试报告。 3. **工作流测试**:关键在于理解需求,理清流程,画出流转图,并设计覆盖所有可能流程的测试用例。 4. **性能测试**:关注的参数包括并发访问量、服务器响应时间等。...
### 小结 华为OD作为一种创新的用工方式,为求职者提供了丰富的职业发展机会,并通过一系列考核来选拔合适的人才。对于希望加入华为的求职者来说,除了掌握必要的专业知识和技术技能外,还需要通过笔试、面试等环节...
#### 小结 此题不仅考验了考生对于贪心算法的理解,还涉及到基本的数据结构如数组的运用,以及排序算法的应用。对于想要提升自己编程能力或准备相关技术面试的人来说,这道题目具有很高的参考价值。通过阅读本文,...
接着,"CS结构软件测试小结"强调了客户端软件的测试要点。这包括功能测试、界面测试、性能测试、安全测试等。功能测试确保软件按照设计规格正常工作,界面测试关注用户体验,性能测试衡量软件在各种负载下的响应速度...