根据结构不同简历可分为技巧式与什么

面试复习大纲(Java帮帮总结)





更多整理的问题点击公众号中间的“简历/面试”菜单即可

面试+简历+沟通+工作流程+谈判_汇总

想要成为合格的Java程序员或工程师到底需要具备哪些专業技能面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容也可以作为面试的时候跟面试官聊的东西,你可以把这些内容写到你的简历中当然更需要的是你在面试的时候向面试官展示这些专业技能。相信此文对正在寻觅Java程序員(Java工程师)职位的freshman以及希望成为中高级Java开发者的junior都会有所帮助

3.    对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系熟练的使用Spring进行事务、日志、安全性等的管理,有使用Spring MVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验熟悉Spring对其他框架的整合。

7.    熟悉面向对象的设计原则对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向对象嘚分析和设计有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。

说明:上面罗列的这些东西并不是每一项你都要烂熟于心根据企业招聘的具体要求可以做相应的有针对性的准备。我个人觉得前6项应该是最低要求是作为一个Java开发者必须要具备的专业技能。

实际情况为主适自己能力而定。

本系统是X委托Y开发的用于Z的系统系统包括A、B、C、D等模块。系统使用了Java企业级开发的开源框架E以及前端技术F表示层運用了G架构,使用H作为视图I作为控制器并实现了REST风格的请求;业务逻辑层运用了J模式并通过K实现事务、日志和安全性等功能,通过L实现緩存服务;持久层使用了M封装CRUD操作底层使用N实现数据存取。整个项目采用了P开发模型

说明:上面的描述中,E通常指Spring(Java企业级开发的一站式选择);F最有可能是jQuery库及其插件或者是Bootstrap框架当然如果要构建单页应用(SPA)最佳的方案是前端MVC框架(如AngularJS)和JavaScript模板引擎(如HandleBars);G显然是MVC(模型-视图-控制),最有可能的实现框架是Spring MVC除此之外还有Struts MVC中提供了作为前端控制器的DispatcherServlet;J通常是事务脚本,K应该是AOP(面向切面编程)技术L目前广泛使用的有memcached和Redis;M的选择方案很多,最有可能的是Hibernate和MyBatis也可以两种技术同时运用,但通常是将增删改交给Hibernate来处理而复杂的查询则甴MyBatis完成,此外TopLink、jOOQ也是优秀的持久层解决方案;底层的数据存取传统上是使用关系型数据库可以是MySQL、Oracle、SQLServer、DB2等,随着大数据时代的来临也鈳以采用NoSQL(如MongoDB、MemBase、BigTable等)和其他大数据存取方案(如GFS、HDFS等);项目的开发模型P可以是瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、RAD模型等。

o  界面原型:帮助理解需求、业务层设计时推导事务脚本

o  抽取业务实体(领域对象):类图、E-R图(概念设计阶段)

o  分层架构:确定各层的技术实现方案(具体到使用的框架、数据库服务器、应用服务器等)

o  业务层设计:事务脚本模式(事务:用户发送一次请求就是一个事务;脚本:一个方法或一个函数;事务脚本:把一次请求封装为一个方法或一个函数;事务脚本模式:一个事务开始于脚本嘚打开,终止于脚本的关闭)

o  业务层涉及的对象有三种类型:事务脚本类(封装了业务的流程)、数据访问对象(DAO,封装了持久化操作)、数据传输对象(DTO封装了失血/贫血领域对象),三者之间的关系是事务脚本类组合(聚合)数据访问对象这二者都依赖了数据传输對象

o  数据库物理设计(ER图转换成表间关系图、建库和建表、使用工具插入测试数据)

o  单元测试:对软件中的最小可测试单元进行检查和验證,在Java中是对类中的方法进行测试可以使用JUnit工具来实施。

o  集成测试:集成测试也叫组装测试或联合测试在单元测试的基础上,将所有模块按照设计要求组装成为子系统进行测试

o  系统测试:将已经确认的软件、硬件、外设、网络等元素结合在一起,进行信息系统的各种組装测试和确认测试系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义找出与需求规格不符或与の矛盾的地方,从而提出更加完善的方案

o  验收测试:在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动它是技术测试的最后一个阶段,也称为交付测试验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行軟件的既定功能和任务

第三方工具(插件)应用

说明:对于没有实际项目经验的,可以在前程无忧、智联招聘、拉勾网等网站上搜索招聘Java程序员的公司找到他们的官方网站了解他们做的项目,查看项目的详细介绍然后尝试完成其中一部分功能,最好请教一下高人看看洎己的设计和代码是否恰当这样相当于积累了一定的项目经验。

??Java常见的面试题已经总结成《Java面试题集》、《Java面试题全集》以及《面試编程题拾遗》等文章陆续发布在我的CSDN博客各大公司的面试题我会继续整理发布。

面试时可以反问面试官的问题

2.    为什么你们的产品使用叻X技术而不是Y技术据我所知,X技术虽然有A、B、C等好处但也存在D和E问题,而Y技术可以解决D和E问题

3.    我对您说的X技术不是太熟悉,但我感覺它是一个不错的解决方案您能多讲讲它的工作原理吗?

4.    你们团队是如何进行项目规划的一周会有几次例会?每周的代码量大概是多尐

5.    就X问题我能想到的解决方案目前就只有Y了,请问您会怎么解决这个问题

??S.A.R法则是指先描述问题的场景,然后解释你采取的行动朂后陈述结果。

例子:圆内接三角形是锐角三角形的概率是多少这是搜狗的一个面试题,可以在圆上随意画三个点连接成三角形就可以知道答案了

例子:一个有序数组的元素经过循环移动,元素的顺序变成"3 4 5 6 1 2"怎样找到数组中最小的那个元素,假设数组中的元素各不相同这个题目和折半查找看起来是那么相似,因此可以借鉴折半查找的算法最小元素显然出现在"mid > right"的转折点。

说明:简化问题规模和数据类型然后再发现通用的解法。

例子:找出"abcde"的所有可能的排列组合先考虑只有"a"的情况,再考虑"ab"的情况以此类推。最终你可能会得到一个遞归公式这种方法往往会演变成递归法。

例子:随机生成一些数字并找出其中位数。这种问题可以在头脑中将你了解的数据结构过一遍看看哪种是最合适的数据结构。上面的题目可以建立两个堆一个大根堆和一个小根堆,较小的元素放在大根堆较大的元素放在小根堆,如果两个堆不平衡可以从其中一个堆取出元素放入另一个堆即可。最后中位数应该是两个堆的根之一

3.    不要只盯着薪水(很多公司更愿意就薪水之外的条件做出让步)

原因:面试的第一个问题,一般都是让你简单介绍下你自己或者介绍一下你最近的项目,而一个媔试者如果连自己的简历都无法熟知,对里面提到的项目、技术都无法描述清楚的话我想没有哪家公司会接受这样的,哪怕你是超级囚才你自我表述不行,估计也会为此头疼所以,切记:一定要背好自己的简历不要求你能全部记下,至少要熟记你最近所待过的两镓公司这两家公司里面你做过的项目,你负责的模块项目里面用到的技术以及相对应的技术实现方案(这个尤为重要)。

2、深入了解並熟记部分Java基础知识

原因:大部分公司无论面试初级还是高级无论是笔试还是面试,都会问到一系列基础题这些基础题大概涵括jvm、字苻串、集合、线程等等,如果说每一个让你死记硬背你肯定记不住那么就是理解中记忆了,拿jvm来说 如果让你谈谈你对jvm的理解, 那么你艏先得知道JVM有哪些结构组成每个结构用来做什么的,然后考虑一个Java对象从创建到回收如何途径JVM这些结构的。如果你从这些方面来综合記忆相信事半功倍,并且你理解的更透彻

至于如果让你谈集合,举例List集合下面ArryList、LinkedList、Vector等集合的区别那么同样的方法,你需要理解每一個的结构组成是什么你才能知道他有什么作用,这样你在平时的用法上会更精炼而且在面试过程中,也不至于哑口无言

3、保持自信惢和沉重冷静的心态

原因:面试过程中,自信是少不了的相信你可以, 面试的路上可以自己对自己说一句: I belive I can ! 反正我就是这么做的自我嘚心里暗示吧,其实面对面试官的时候你自信的状态也会让面试官觉得你是个很有底气的人,至少从感觉上会给你打个高分

另外还有僦是保持沉重冷静,如果是让你提供技术方案或者说说某个技术原理没必要一紧张一咕噜的什么都说,你可以对面试官说:我先想想嘫后自己组装记忆中的知识,组装下语言有条理的说出来,这样能更好的表现你的才能不是吗? 面试谁都会紧张我也会紧张,有时候明明记得的知识点忘了没关系,大胆的说忘了或者直接说不知道。 要记住有部分不知道没关系,如果全都知道那你应该是CTO级别叻(开个玩笑)。

4、尽量记住面试过程中你回答不出来或者存在不妥的问题

原因:面试失败了没关系毕竟每个公司的要求不一样,问的問题和你擅长的方面可能有所出入但是请记住一点:面试过程中那些你回答不出来问题,或者你自己感觉回答不太准确的问题自己记丅来,如果不会的你可以当场问问面试官有没有好的解答,如果面试官不愿意告诉你(一般是基础方面面试官就懒得答你)那么你就洎己回家慢慢查资料,如果是某些特定的技术也可以自己写写案例什么的,毕竟知识点就那么多问题百变,原理不变面试也是一个學习知识的过程,让你了解大部分公司目前需要或者要求的技术这次不知道,下次就知道了

5、去面试之前,最好先了解你要去面试公司的情况

原因:俗话说知己知彼,百战不殆面试就是一场战斗,你需要了解你面试公司基本情况包括岗位要求,这样你就能大概知噵你需要面试的这家公司的技术要求情况 为何让你去了解这家公司的主营产品和项目呢,就是让你大概了解这家公司的一个技术架构的凊况包括你可能对他们的一种实现方式提出质疑和疑惑,相信面试官很愿意帮你解答这些问题的这样你既图了表现,也学到了知识哬乐而不为。

6、合理安排你的面试时间

原因:估计很多人都不理解这个可能大部分的人对于如何安排面试时间比较迷茫,随意安排可昰这里有个技巧,如果同时有多个面试机会你把你最想去的公司放到最末尾去面试,这样你经历过了前面的这些公司筛选如果成功了昰个机会,如果没成功也是为最后做铺垫。

不过这里就需要考虑两点:1、你需要记住你投简历的公司和基本情况(这说明你不是海投的) 2、如果记不住那么可以先应答一个时间,后续了解公司信息之后通过邮件或者其他方式与其约定,调整面试时间而且建议安排一忝的面试公司不要超过两家,最好的是上午一家下午一家,这样你能有充足的时间调整状态

1.数组中的排序问题(笔试或者机试,前者可能性更大)

面向对象主要有四个特性:

封装、抽象、继承和多态

封装:在面向对象语言中,封装特性是由类来体现的我们将现实生活中嘚一类实体定义成类,其中包括属性和行为(在Java中就是方法)就好像人类,可以具有name,sex,age等属性同时也具有eat(),sleep()等行为,我们在行为中实现一萣的功能也可操作属性,这是面向对象的封装特性;

抽象:抽象就是将一类实体的共同特性抽象出来封装在一个抽象类中,所以抽象茬面向对象语言是由抽象类来体现的比如鸟就是一个抽象实体,因为抽象实体并不是一个真正的对象它的属性还不能完全描述一个对潒,所以在语言中体现为抽象类不能实例化;

继承:继承就像是我们现实生活中的父子关系儿子可以遗传父亲的一些特性,在面向对象語言中就是一个类可以继承另一个类的一些特性,从而可以代码重用其实继承体现的是is-a关系,父类同子类在本质上还是一类实体;

多態:多态就是通过传递给父类对象引用不同的子类对象从而表现出不同的行为

答:HashMap是由数组+链表的一个结构组成具体参照:HashMap的实现原理。

多线程启动方式以及产生死锁的原因和解决办法,乐观锁悲观锁线程同步,创建方法jdk1.5之前/之后【多线程问题不是很常问有精力就複习这块内容】

SimpleDataFormat是非线程安全的,如何更好的使用而避免风险呢

答:关于SimpleDateFormat安全的时间格式化线程安全问题。

了解常见的几个流对象以及基本的流操作即可被机试的可能性比较小。

如何看待设计模式并简单说说你对观察者模式的理解

观察者模式类图及实现。

冒泡快速,基数插入,希尔等

GC回收调优,内存溢出

答:具体参照:JVM结构、GC工作机制详解说到GC,记住两点:1、GC是负责回收所有无任何引用对象嘚内存空间 注意:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,2、GC回收机制的两种算法a、引用计数法 b、可达性汾析算法( 这里的可达性,大家可以看基础2 Java对象的什么周期)至于更详细的GC算法介绍,大家可以参考:Java GC机制算法

10、Java对象的生命周期

答:创建阶段 、 应用阶段 、不可见阶段 、不可达阶段 、收集阶段 、终结阶段、 对象空间重新分配阶段等等,具体参照:Java 对象的生命周期

答:Object有哪些方法。

(定义、常见的请求头以及响应头<功能>、状态码)

(目录结构<存放的内容以及配置文件里面能做哪些工作>、常见配置;有能力者可鉯了解一下tomcat的原理<启动加载问题>)

(概念的理解;生命周期、线程安全问题、接口相关类型、体系结构<区别>、request以及response的用途、servletContext对象的功能、编码鉯及路径问题)

(生命周期、常见应用、dofilter里面的参数、应用场景)

(隐式对象、常见标签<指令、动作>、EL以及JSTL)

服务器向客户端的回应信息

服务器配置可以取得初始化参数

指当前页面转换后的Servlet类的实例

表示JSP页面所发生的异常,在错误页中才起作用

(概念的理解;生命周期session创建的时期,楿关方法的使用) 

8.Xml定义文档的形式都有什么区别

b: XML Schema和DTD都用于文档验证,但二者还有一定区别;

本质区别:schema本身是xml的可以被XML解析器解析(这也是從DTD上发展schema的根本目的)。另外:

XML Schema是内容开放模型可扩展,功能性强;而DTD可扩展性差;

XML Schema支持丰富的数据类型而DTD不支持元素的数据类型,对屬性的类型定义也很有限;

XML Schema支持命名空间机制而DTD不支持;

XML Schema可针对不同情况对整个XML文档或文档局部进行验证;而DTD缺乏这种灵活性;

XML Schema完全遵循XML规范,符合XML语法可以和DOM结合使用,功能强大;而DTD语法本身有自身的语法和要求难以学习;

DOM:文档驱动,处理大型文件时其性能下降的非常厉害这个问题是由DOM的树结构所造成的,这种结构占用的内存较多而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问

SAX:鈈同于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件不需要一次全部装载整个文件。当遇到像文件开头文档结束,或者标签开头与标签結束时它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件适合对XML的顺序访问,且是只读的当前浏览器不支持SAX

是鼡 Java? 语言处理 XML 的最新标准。StAX 与其他方法的区别就在于应用程序能够把 XML 作为一个事件流来处理StAX 允许应用程序代码把这些事件逐个拉出来,洏不用提供在解析器方便时从解析器中接收事件的处理程序

(action相关的问题<书写方式[区别]、接受请求参数的方式、相关配置、访问servletAPI的方式>;徝栈相 关问题<定义、内部结构、如何获取值栈对象、EL为什么能访问值栈中的数据>;struts2与springMVC的区别;拦截器与过滤器的 区别;struts2工作原理<执行流程>)

(核心思想要了解;开发流程<加载文件的过程>;查询方式;如何优化;sql与hql的区别;update与 saveOrUpdate的区别;get和load的区别;Java对象三种状态的特征以及转换、核惢API、一级缓存和二级缓存、延迟加载)

(工作流程;与struts2的区别;乱码问题如何处理;各组件的扩展类型)

3.文档对象模型DOM

(web交互2种方式的对比)

6.传统Ajax编程的步骤以及从服务器端返回的数据格式(之间的差别)

7.JSON数据格式的转换操作

10.其余的问题都是一些笔试题,让你直接写javascript代码实现某一功能

数据庫这一块几乎都是一些概念性的问答题(存储过程、函数、事务、索引、触发器、视图、游标以及一些优化操作),笔试100%会出现一般考察的都昰多表联合查询

1、当数据表中A、B字段做了组合索引,那么单独使用A或单独使用B会有索引效果吗(使用like查询如何有索引效果)

答:看A、B两芓段做组合索引的时候,谁在前面谁在后面,如果A在前那么单独使用A会有索引效果,单独使用B则没有反之亦然。同理使用like模糊查詢时,如果只是使用前面%那么有索引效果,如果使用双%号匹配那么则无索引效果。

2、数据库存储日期格式时如何考虑时区转换问题?

答:使用TimeStamp , 原因参照:Java编程中遇到的时区转换问题

3、一条sql执行过长的时间你如何优化,从哪些方面

  1. 查看sql是否涉及多表的联表或者子查詢,如果有看是否能进行业务拆分,相关字段冗余或者合并成临时表(业务和算法的优化);

  2. 涉及链表的查询是否能进行分表查询,單表查询之后的结果进行字段整合;

  3. 如果以上两种都不能操作非要链表查询,那么考虑对相对应的查询条件做索引加快查询速度;

  4. 针對数量大的表进行历史表分离(如交易流水表);

  5. 数据库主从分离,读写分离降低读写针对同一表同时的压力,至于主从同步MySQL有自带嘚binlog实现 主从同步;

  6. explain分析sql语句,查看执行计划分析索引是否用上,分析扫描行数等等;

  7. 查看mysql执行日志看看是否有其他方面的问题;

个人悝解:从根本上来说,查询慢是占用mysql内存比较多那么可以从这方面去酌手考虑。

答:1、Java集群之session共享2、session多服务器共享方案还有一种方案僦是使用一个固定的服务器专门保持session,其他服务器共享

  5、分布式、集群环境中,缓存如何刷新如何保持同步?

答:A、缓存如何刷新

1、定时刷新 2、主动刷新覆盖,每个缓存框架都有自带的刷新机制或者说缓存失效机制,就拿Redis和 Ehcache举例 他们都有自带的过期机制,另外主動刷新覆盖时只需获取对应的key进行数据的覆盖即可。

B、缓存如何保持同步

 这个redis有自带的集群同步机制,即复制功能具体参考:基于Redis汾布式缓存实现,Ehcache也有分布式缓存同步的配置只需要配置不同服务器地址即可,参照:Ehcache分布式缓存同步

1.自我介绍(注重的是你之前在公司里面工作内容,特别是最近在公司里面做的项目<回答思路参考项目相关问题一>)

2.简单的介绍一下上一家公司的情况/评价

3.你为什么来北京工莋怎样看待跳槽?

4.你对我们公司了解吗

5.你如果有幸进入我们公司,有什么规划吗

6.你上一家公司的薪资大概是多少?有哪些组成部分

7.你有没有投其它公司?如果其它公司也给了offer你会如何抉择?

8.你有对象吗打算什么时候结婚生孩子?

9.你对薪资待遇有什么要求能再低一点吗?

10.你还有什么问题要问我吗

 1.请介绍一下你最近做的这一个项目吧

【思路:项目给谁做的、项目涉及的领域、系统的架构(功能&技術)、系统的用途、系统的部署、使用了哪些比较新颖的技术】

【思路:电商行业的发展、行业技术特点、行业的一些概念】

  3.你这个项目大概有哪些功能,你负责了哪些核心功能

【拥有的功能尽可能说多一点,建议10个左右自己负责的3个大(如商品管理、订单、购物车),其余嘚都是其他组员开发的任务】

  4.谈谈xx(具体的比如商品管理、订单、购物车)模块/功能的实现思路?实现的过程中涉及到了哪些技术这些技術能介绍下吗?

  5.你们公司有多少人有测试吗?有美工吗整个项目组人员配置是怎么样的?项目开发的流程大概是什么样子的

【检验昰否有工作经验的一个问题】

  6.这个项目使用了什么构建工具没有?有的话多模块之间是如何划分的?为什么要这么划分

  7.在这个项目中昰如何设计商品规格的?

  8.这个系统中你是如何实现跨系统调用的

  9.在这个项目中,CMS系统是如何设计的简单的说一下设计思路

  10.在这个项目Φ,你们主要使用什么样的数据格式来进行数据的传输的

  11.单点系统的设计思想你了解吗?他在系统架构中的作用是什么位置如何?

  12.你們这个项目中订单ID是怎么生成的我们公司最近打算做一个电商项目,如果让你设计这块你会考虑哪些问题?

  13.各个服务器的时间不统一怎么办

  14.你们线上部署时什么样的,能画一下吗

  16.你们使用什么做支付的?如果使用易宝做支付请求超时了怎么处理?   

  17.你刚才不是说付款成功后易宝会有数据返回吗如果付款后易宝没有返回,或者返回超时了但是钱又已经扣了,你怎么办

  18.你们怎么做退款功能的,要哆长时间才能把钱退回给用户

  19.你购物车存cookie里边可以实现不登录就可以使用购物车,那么我现在没有登录把商品存购物车了然后登录了, 然后我换台电脑并且登录了还能不能看见我购物车的信息如果看不到怎么做到cookie同步,就是在另外一台电脑上可以看到购物车信息

   20.如果鼡户一直向购物车添加商品怎么办并且他添加一次你查询一次数据库?互联网上用户那么多这样会对数据库造成很大压力你怎么办?

(┅般情况在公司必须有一定工作经验的开发者才会被分配该功能模块的开发,这意味着学员在刚开始参加工作的那个项目里面绝对不能寫的内容) 这里一般都会提及shiro技术,在这块需要掌握shiro相关的几个组件以及他们的调用关系然后就是权限设计的几张数据库表(表之间的关系以及每张表里面的重要字段)

(普通的查询会让面试官问及效率问题,那么势必要提到全文检索技术由于刚学不是很熟,根据自己掌握的凊况进行选择)   

(前台系统调用可以使用jsonp来实现浏览器跨域问题去年有学员花几个小时学习这个,仅凭此技术入职8K)

(该技术已有替代技术,洳果不会可以不用花时间去复习)

(水太深,只谈自己在项目中就部署的时候用了一下即可)

(根据自己的能力看是否需要提及次技术毕竟购粅车的实现方式比较多。)

面试还会问到一些关于设计方案相关的问题比如:

1、你的接口服务数据被人截包了,你如何防止数据恶意提交

答:我们可以在接口传输参数里面设置一个业务编号,这个编号用来区分是否重复提交这样即使数据被抓包了,对方也无法区分每个芓段你的含义这时,这个业务编号的作用就来了

2、假设服务器经常宕机,你从哪些方面去排查问题

答:这个就留个各位看官补充了。

总而言之该看的还是得看还学的还是得学。再次强调基础很重要!面试技巧同样很重要,还是那句话:祝愿各位看官都能找到心仪嘚工作吧~~

另外奉劝大家不要频繁跳槽,这些知识点能提升固然好不要盲目跳槽,找工作很累的而且没有哪家公司喜欢频繁跳槽的员笁。

互联网产品、大型企业级项目常会用到的:

1.并发处理技术具体到Java上通常是涉及java.util.concurrent、并发锁机制、NIO等方面,当然最近比较火爆的Netty框架也鈳以作为高并发处理的备选方案之一这需要对Java的线程调度机制有着比较深的理解。不过这些可能会涉及并发控制的对象(比如reentrantlock等)只能存在于一个JVM里的问题一旦系统规模大到需要部署多个JVM来处理并发的情况,则需要采用共享session的技术(比如spring-session)或者尽可能将系统后台设计為无状态的服务,这需要对RESTful有着较深的理解

2.高可用、负载均衡技术。互联网产品、企业级应用通常要求一年里的Downtime控制在很小的范围内這需要足够的高可用和负载均衡架构来支撑,这个一般和Java技术本身没太大关系但却是一名初级程序员向高级程序员甚至是架构师CIO进阶的必备技术,因此可以适当了解一下Nginx、HAProxy等对这方面的支持另外现在最“时髦”的做法是将应用docker化,配合ETCD、kubernetes等工具在容器的层面上实现高可鼡和负载均衡当然这需要看实际的需求,最时髦的不见得是最适用的要考虑构建成本。

3.缓存技术缓存应该是大型系统中或高并发条件下提高响应速度的亘古不变的真理(虽然也看到过淘宝搜索商品功能采用的大数据处理技术实现的零缓存的文章,但能达到淘宝的体量囷技术水平一般不太可能)这方面的工具太多了,ehcache、memcached、redis……从Java的角度来讲需要了解的一是Java对这些工具的连接器,二是缓存技术背后的JSR-107標准可以参考spring-cache的实现,阅读一下源码加深理解

4.异步处理技术。这通常也是抵消高并发的处理手段之一从Java的角度看最简单的异步处理僦是新启动一个异步线程,这同样也需要对Java的线程调度有所了解当然也可使用Spring中的@Async之类的也可以简单实现异步线程的处理。如果是非常消耗资源的业务处理简单的异步线程是满足不了需求的,这就需要一些消息中间件来做这些异步处理了消息中间件有很多,activemq、rabbitmq、kafka……需要了解的是Java对这些中间件的连接器不过异步处理中最关键的是事务保证的问题,这可能需要对事务的两步提交有所了解

点击“阅读铨文”,查看详情

1、基尔霍夫定理的内容是什么(仕兰微电子) 
3、最基本的如三极管曲线特性。(未知) 
4、描述反馈电路的概念列举他们的应用。(仕兰微电子) 
5、负反馈种类(电压並联反馈电流串联反馈,电压串联反馈和电流并联反
馈);负反 馈的优点(降低放大器的增益灵敏度改变输入电阻和输出电阻,改善放大器的线性和非 线性失真有效地扩展放大器的通频带,自动调节
作用)(未知) 
6、放大电路的频率补偿的目的是什么有哪些方法?(仕兰微电子) 
7、频率响应如:怎么才算是稳定的,如何改变频响曲线的几个方法(未
8、给出一个查分运放,如何相位补偿并画补償后的波特图。(凹凸) 
9、基本放大电路种类(电压放大器电流放大器,互导放大器和互阻放大器
)优缺 点,特别是广泛采用差分结構的原因(未知) 
10、给出一差分电路,告诉其输出电压Y+和Y-,求共模分量和差模分量(未
11、画差放的两个输入管。(凹凸) 
12、画出由运放構成加法、减法、微分、积分运算的电路原理图并画出一
个晶体管级的 运放电路。(仕兰微电子) 
13、用运算放大器组成一个10倍的放大器(未知)

14、给出一个简单电路,让你分析输出电压的特性(就是个积分电路)并

15、电阻R和电容C串联,输入电压为R和C之间的电压输出電压分别为C上电
压和R上电 压,要求制这两种电路输入电压的频谱判断这两种电路何为高
通滤波器,何为低通滤 波器当RC<<T时,给出输入电壓波形图绘制两种
电路的输出波形图。(未知) 
16、有源滤波器和无源滤波器的原理及区别?(新太硬件) 
通过低通、 带通、高通滤波器后嘚信号表示方式(未知) 
18、选择电阻时要考虑什么?(东信笔试题) 
19、在CMOS电路中要有一个单管作为开关管精确传递模拟低电平,这个單
管你会用P管 还是N管为什么?(仕兰微电子) 
21、电压源、电流源是集成电路中经常用到的模块请画出你知道的线路结
构,简单描述 其優缺点(仕兰微电子) 
22、画电流偏置的产生电路,并解释(凹凸) 
23、史密斯特电路,求回差电压。(华为面试题) 
24、晶体振荡器,好像是給出振荡频率让你求周期(应该是单片机的,12分之一
25、LC正弦波振荡器有哪几种三点式振荡电路分别画出其原理图。(仕兰
26、VCO是什么,什么参数(壓控振荡器?) (华为面试题) 
27、锁相环有哪几部分组成(仕兰微电子) 
28、锁相环电路组成,振荡器(比如用D触发器如何搭)(未知) 
29、求锁相环的输出频率,给了一个锁相环的结构图(未知) 
30、如果公司做高频电子的,可能还要RF知识调频,鉴频鉴相之类不一
一列举。(未知) 
31、一电源和一段传输线相连(长度为L,传输时间为T)画出终端处波形,
考虑传输线 无损耗给出电源电压波形图,要求绘制终端波形图(未知) 
32、微波电路的匹配电阻。(未知) 
33、DAC和ADC的实现各有哪些方法(仕兰微电子) 
34、A/D电路组成、工作原理。(未知) 
35、实際工作所需要的一些技术知识(面试容易问到)如电路的低功耗,稳
定高速如何做到,调运放布版图注意的地方等等,一般会针对简历上伱所
写做过的东西具体问,肯定会问得很细(所以别把什么都写上精通之类的
词也别用太多了),这个东西各个人就 不一样了不好说什么了。(未知)

1、同步电路和异步电路的区别是什么(仕兰微电子) 
2、什么是同步逻辑和异步逻辑?(汉王笔试) 
同步逻辑是时钟之間有固定的因果关系异步逻辑是各时钟之间没有固定的
3、什么是"线与"逻辑,要实现它在硬件特性上有什么具体要求?(汉王笔
线与逻輯是两个输出信号相连可以实现与的功能在硬件上,要用oc门来实

现由于不用 oc门可能使灌电流过大,而烧坏逻辑门 同时在输出端口应
加一个上拉电阻。 
Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求建立
时间是指触发 器的时钟信号上升沿到来以前,数据稳定不变的時间输入信
号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间
只有在下一个时钟上升沿数据才能被打入触发器。 保持时间是指触发器的
时钟信号上升沿到来以后数据稳定不变的时间。如果hold time 不够数
据同样不能被打入触发器。 
建立时间(Setup Time)和保持时间(Hold time)建立时间是指在时钟边沿
前,数据信 号需要保持不变的时间保持时间是指时钟跳变边沿后数据信号
需要保持不变的时间。如果不滿足建立和保持时间的话那么DFF将不能正确
地采样到数据,将会出现 metastability的情况如果数据信号在时钟沿触
发前后持续的时间均超过建立和保歭时 间,那么超过量就分别被称为建立时
间裕量和保持时间裕量 
8、说说对数字逻辑中的竞争和冒险的理解,并举例说明竞争和冒险怎样消除
(仕兰微 电子) 
9、什么是竞争与冒险现象?怎样判断如何消除?(汉王笔试) 
在组合逻辑中由于门的输入信号通路中经过了不哃的延时,导致到达该门
的时间不一致叫竞争产生毛刺叫冒险。如果布尔式中有相反的信号则可能
产生竞争和冒险现象解决方法:一昰添加布尔式的消去项,二是在芯片外
10、你知道那些常用逻辑电平TTL与COMS电平可以直接互连吗?(汉王笔试) 
常用逻辑电平:12V5V,3.3V;TTL和CMOS不可鉯直接互连由于TTL是在
0.3-3.6V之间,而CMOS则是有在12V的有在5V的CMOS输出接到TTL是可以直接互连。TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V 
11、如何解决亞稳态。(飞利浦-大唐笔试) 
亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态当一个
稳态时,既无法预测该单元的輸出电平也无法预测何时输出才能稳定在某
上。在这个稳定期间触发器输出一些中间级电平,或者可能处于振荡状态
用的输出电平可鉯沿信号通道上的各个触发器级联式传播下去 
12、IC设计中同步复位与 异步复位的区别。(南山之桥) 
14、多时域设计中,如何处理信号跨时域(南山之桥) 
15、给了reg的setup,hold时间,求中间组合逻辑的delay范围(飞利浦-

件有哪些? b) 试用VHDL或VERILOG、ABLE描述8位D触发器逻辑(汉王笔试

的)。(威盛VIA 上海笔试试题) 
69、描述一个交通信号灯的设计(仕兰微电子) 
70、画状态机,接受12,5分钱的卖报机每份报纸5分钱。(扬智电子笔

71、设计┅个自动售货机系统卖soda水的,只能投进三种硬币要正确的找回钱数。
1)画出fsm(有限状态机);(2)用verilog编程语法要

的要求。(未知) 
72、设计一个自动饮料售卖机饮料10分钱,硬币有5分和10分两种并考虑

画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga设计的要求

77、现有一鼡户需要一种集成电路产品要求该产品能够实现如下功能:

为4位二进制整数输入信号。y为二进制小数输出要求保留两位小数。电源

设公司接到该项目后交由你来负责该产品的设计,试讨论该产品的设计全

79、给出单管DRAM的原理图(西电版《数字电子技术基础》作者杨颂华、馮毛

-14b)问你有什么办法提高refresh time,总共有5个问题记不起来了。

IC设计基础(流程、工艺、版图、器件) 
1、我们公司的产品是集成电路请描述一下你对集成电路的认识,列举一些

相关的内容(如讲清楚模拟、数字、双极型、CMOS、MCU、RISC、CISC、DSP

等的概念)(仕兰微面试题目) 
2、FPGA和ASIC的概念,他们的区别(未知) 
ASIC:专用集成电路,它是面向专门用途的电路专门为一个用户设计和制造

个用户的特定要求,能以低研制成本短、交货周期供货的全定制,半定制

制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线

3、什么叫做OTP片、掩膜片兩者的区别何在?(仕兰微面试题目) 
4、你知道的集成电路设计的表达方式有哪几种(仕兰微面试题目) 
5、描述你对集成电路设计流程嘚认识。(仕兰微面试题目) 
6、简述FPGA等可编程逻辑器件设计流程(仕兰微面试题目) 
7、IC设计前端到后端的流程和eda工具。(未知) 

将初级汸真 中所没有考虑的门沿(gates delay)反标到生成的门级网表中,

返回电路仿真阶段进行再 仿真最终仿真结果生成的网表称为物理网表。 
12、请简述┅下设计后端的整个流程(仕兰微面试题目) 
13、是否接触过自动布局布线?请说出一两种工具软件自动布局布线需要

哪些基本元 素?(仕兰微面试题目) 
14、描述你对集成电路工艺的认识(仕兰微面试题目) 
15、列举几种集成电路典型工艺。工艺上常提到0.25,0.18指的是什么(仕

16、请描述一下国内的工艺现状。(仕兰微面试题目) 
17、半导体工艺中掺杂有哪几种方式?(仕兰微面试题目) 
18、描述CMOS电路中闩锁效应產生的过程及最后的结果(仕兰微面试题目

别?(仕兰微面试题目) 
23、硅栅COMS工艺中N阱中做的是P管还是N管N阱的阱电位的连接有什么要

24、畫出CMOS晶体管的CROSS-OVER图(应该是纵剖面图),给出所有可能的

27、说明mos一半工作在什么区(凹凸的题目和面试) 
30、寄生效应在ic设计中怎样加以克垺和利用。(未知) 
31、太底层的MOS管物理特性感觉一般不大会作为笔试面试题因为全是微电

式推导太罗索,除非面试出题的是个老学究IC設计的话需要熟悉的软件:

单片机、MCU、计算机原理

1、简单描述一个单片机系统的主要组成模块,并说明各模块之间的数据流流

流向简述单爿机应用系统的设计原则。(仕兰微面试题目) 
2、画出8031与2716(2K*8ROM)的连线图要求采用三-八译码器,8031的

有则写出每片2716的重叠地址范围。(仕蘭微面试题目) 
3、用8051设计一个带一个8*16键盘加驱动八个数码管(共阳)的原理图(

4、PCI总线的含义是什么?PCI总线的主要特点是什么 (仕兰微面试题目

5、中断的概念?简述中断的过程(仕兰微面试题目) 
6、如单片机中断几个/类型,编中断程序注意什么问题;(未知) 
7、要用┅个开环脉冲调速系统来控制直流电动机的转速程序由8051完成。

下:由P3.4输出脉冲的占空比来控制转速占空比越大,转速越快;而占空

个開关来设置直接与P1口相连(开关拨到下方时为"0",拨到上方时为"1"

北桥芯片和南桥芯片北桥芯片提供对CPU的类型和主频、内存的类型和最大

ISA/PCI/AGP插槽、ECC纠错等支持。南桥芯片则提供对KBC(键盘控制器)、

能源管理)等的支持其中北桥芯片起着主导性的作用,也称为主桥(Host

除了最通鼡的南北桥结构外目前芯片组正向更高级的加速集线架构发

8xx系列芯片组就是这类芯片组的代表,它将一些子系统如IDE接口、音效、

接接入主芯片能够提供比PCI总线宽一倍的带宽,达到了266MB/s 
10、如果简历上还说做过cpu之类,就会问到诸如cpu如何工作流水线

11、计算机的基本组成部分忣其各自的作用。(东信笔试题) 
12、请画出微机接口电路中典型的输入设备与微机接口逻辑示意图(数据

口、所存器/缓冲器)。 (汉王筆试) 
13、cache的主要部分什么的(威盛VIA 上海笔试试题) 
14、同步异步传输的差异(未知) 
15、串行通信与同步通信异同,特点,比较。(华为面试题) 
16、RS232c高电平脉冲对应的TTL逻辑是?(负逻辑?) (华为面试题)

1、的话音频率一般为300~3400HZ若对其采样且使信号不失真,其最小的采

多大若采用8KHZ的采样頻率,并采用8bit的PCM编码则存储一秒钟的信号

大?(仕兰微面试题目) 
2、什么耐奎斯特定律,怎么由模拟信号转为数字信号(华为面试题) 
3、如果模拟信号的带宽为 5khz,要用8K的采样率,怎么办 (lucent) 两路

4、信号与系统:在时域与频域关系。(华为面试题) 
5、给出时域信号求其直流分量。(未知) 
6、给出一时域信号要求(1)写出频率分量,(2)写出其傅立叶变换级数

形经过低通滤波器滤掉高次谐波而只保留一次谐波时画出滤波后的输出波

7、sketch 连续正弦信号和连续矩形波(都有图)的傅立叶变换 。(Infineon

8、拉氏变换和傅立叶变换的表达式及联系(新太硬件面题)

1、请用方框图描述一个你熟悉的实用数字信号处理系统,并做简要的分析;

也可以自己设计一个简单的数字信号处理系统并描述其功能及用途。(仕

2、数字滤波器的分类和结构特点(仕兰微面试题目) 
3、IIR,FIR滤波器的异同(新太硬件面题) 
4、拉氏变换与Z变换公式等类姒东西,随便翻翻书把如.h(n)=-a*h(n-1)+b*

(n)的z变换;b.问该系统是否为稳定系统;c.写出FIR数字滤波器的差分方程

5、DSP和通用处理器在结构上有什么不同请简要画絀你熟悉的一种DSP结构

6、说说定点DSP和浮点DSP的定义(或者说出他们的区别)(信威dsp软件面

7、说说你对循环寻址和位反序寻址的理解.(信威dsp软件媔试题) 
8、请写出【-8,7】的二进制补码和二进制偏置码。用Q15表示出0.5和-

统方面偏CS方向了在CS篇里面讲了;(未知) 
11、有一个LDO芯片将用於对手机供电,需要你对他进行评估你将如何设计

13、请简要描述HUFFMAN编码的基本原理及其基本的实现方法。(仕兰微面试

羊的数目和正 方形圍栏的桩子的个数一样但是小于36问有多少羊?(威盛

28、C语言实现统计某个cell在某.v文件调用的次数(这个题目真bt) (威盛

上海笔试试题) 
29、用C语訁写一段控制手机中马达振子的驱动程序(威胜) 
30、用perl或TCL/Tk实现一段字符串识别和比较的程序。(未知) 
31、给出一个堆栈的结构求中断后显礻结果,主要是考堆栈压入返回地址

存放在低端地 址还是高端(未知) 
32、一些DOS命令,如显示文件拷贝,删除(未知) 
33、设计一个类,使得该类任何形式的派生类无论怎么定义和实现都无法

1、你认为你从事研发工作有哪些特点?(仕兰微面试题目) 
2、说出你的最大弱點及改进方法(威盛VIA 上海笔试试题)

3、说出你的理想。说出你想达到的目标 题目是英文出的,要用英文回答

4、我们将研发人员分为若幹研究方向对协议和算法理解(主要应用在网络

通信、图象 语音压缩方面)、电子系统方案的研究、用MCU、DSP编程实现电

路功能、用ASIC设计技術 设计电路(包括MCU、DSP本身)、电路功能模块设

计(包括模拟电路和数字电路)、集成 电路后端设计(主要是指综合及自动

布局布线技术)、集成电路设计与工艺接口的研究。 
你希望从事哪方面的研究(可以选择多个方向。另外已经从事过相关研

发的人员可以详细描述你嘚研发经历)。(仕兰微面试题目) 
5、请谈谈对一个系统设计的总体思路针对这个思路,你觉得应该具备哪些

方面的知 识(仕兰微面試题目) 
6、设想你将设计完成一个电子电路方案。请简述用EDA软件(如PROTEL)进

行设计(包括 原理图和PCB图)到调试出样机的整个过程在各环节應注意

哪些问题?电源的稳定电 容的选取,以及布局的大小(汉王笔试) 
1.一般情况下,面试官主要根据你的简历提问所以一定要对洎己负责,把

简历上的东西搞明白; 
2.个别招聘针对性特别强就招目前他们确的方向的人,这种情况下就要

投其所好,尽 量介绍其所关惢的东西 
3.其实技术面试并不难,但是由于很多东西都忘掉了才觉得有些难。所以

最好在面试前 把该看的书看看 
4.虽然说技术面试是实仂的较量与体现,但是不可否认由于不用面试官/公

司所专领域 及爱好不同,也有面试也有很大的偶然性需要冷静对待。不能

因为被拒就否认自己或 责骂公司。 
5.面试时要take it easy对越是自己钟情的公司越要这样。

我要回帖

 

随机推荐