导航:首页 > 面试求职 > 面试算法考啥

面试算法考啥

发布时间:2021-02-09 00:59:22

⑴ java面试算法题一定考吗

java面试算法题考不考的话是要看你所面试的公司类型了

  1. 一般小公司(内初创公司,员容工50以下吧)重视业务的话是不考算法的,但是一定会考java基础的和sql语句。还有就是框架 spring struts hibernate springmvc mybatis 等基本的javaee开发框架

  2. 大公司 比如bat(网络 阿里 腾讯)是肯定会考的。还有华为,网易,京东,金山。主要是考数据结构方面的,假如你有ACM经验就更好了。考的算法有比如堆排序,二叉树,哈希算法,最短路径之类的重视的是算法。算法中有很大一部分都是排序的。还有就是会考些大数据。

⑵ 前端面试算法,面试官是想考什么

逻辑思维能力

⑶ 如何面试算法工程师

墙面是算法工程师话你基本上你要有这个工程师的证,还有就是一些个人资料的简历证明

⑷ Java面试笔试,数据结构和算法考到什么程度

你说的那个数据结抄构不一定考的。 Java面试就那么点东西,各个公司也不一样。 有的分笔试和机试。这些公司想看看实际面试人员的能力,节省了以后的时候。 笔试中,无非就是一些概念性的东西巴了。 比如:jsp是servlet吗? servlet的生存周期;还有一些面向对象的知识。这些平常用心的话都没问题,即使临阵磨枪也行。 那么机试就的要看你自己的能力了,对框架的属性程度。还有就是在也不能常见的对数据 库的CRUD也就是增删改查操作。机试都好这口。 其实面试如果也没笔试机试那么就问几道题的话,如果是技术人,几道题下来就知道你的底子了,在问些逻辑上的也就知道要你还是不要你了。 在有你要对一些数据库知识了解一些。

⑸ Java面试笔试,数据结构和算法考到什么程度

你说的那个数据结构不一定考的。 Java面试就那么点东西,各个公司也不一样。 有专的分笔试和机试。属这些公司想看看实际面试人员的能力,节省了以后的时候。 笔试中,无非就是一些概念性的东西巴了。 比如:jsp是servlet吗? servlet的生存周期;还有一些面向对象的知识。这些平常用心的话都没问题,即使临阵磨枪也行。 那么机试就的要看你自己的能力了,对框架的属性程度。还有就是在也不能常见的对数据 库的CRUD也就是增删改查操作。机试都好这口。 其实面试如果也没笔试机试那么就问几道题的话,如果是技术人,几道题下来就知道你的底子了,在问些逻辑上的也就知道要你还是不要你了。 在有你要对一些数据库知识了解一些。 做java的 oracle 得达到掌握 sql server 了解就行 基本语法啥的就可以了 mysql 这个也得达到掌握 别的就不要会用到

⑹ 算法面试一般都考什么

慕课网有相关的算法面试的课程,会告诉你一些面试常考的常用数据结构与算法

⑺ 大公司笔试面试有哪些经典算法题目

我的面试遇到的题目,都是直接写代码,二分查找+旋转数组查找,网络和阿里面试都有问过,链表操作:逆置链表,逆置后面K个节点,链表快排,这三道题网络遇到过,另外网易遇到过链表归并。

⑻ 算法面试

我在《再谈“我是怎么招程序员”》中比较保守地说过,“问难的算法题并没有错,错的很多面试官只是在肤浅甚至错误地理解着面试算法题的目的。”,今天,我想加强一下这个观点——我反对纯算法题面试!(注意,我说的是纯算法题)图片源Wikipedia(点击图片查看词条)我再次引用我以前的一个观点——能解算法题并不意味着这个人就有能力就能在工作中解决问题,你可以想想,小学奥数题可能比这些题更难,但并不意味着那些奥数能手就能解决实际问题。好了,让我们来看一个示例(这个示例是昨天在微博上的一个讨论),这个题是——“找出无序数组中第2大的数”,几乎所有的人都用了O(n)的算法,我相信对于我们这些应试教育出来的人来说,不用排序用O(n)算法是很正常的事,连我都不由自主地认为O(n)算法是这个题的标准答案。我们太习惯于标准答案了,这是我国教育最悲哀的地方。(广义的洗脑就是让你的意识依赖于某个标准答案,然后通过给你标准答案让你不会思考而控制你)功能性需求分析试想,如果我们在实际工作中得到这样一个题 我们会怎么做?我一定会分析这个需求,因为我害怕需求未来会改变,今天你叫我找一个第2大的数,明天你找我找一个第4大的数,后天叫我找一个第100大的数,我不搞死了。需求变化是很正常的事。分析完这个需求后,我会很自然地去写找第K大数的算法——难度一下子就增大了。很多人会以为找第K大的需求是一种“过早扩展”的思路,不是这样的,我相信我们在实际编码中写过太多这样的程序了,你一定不会设计出这样的函数接口 —— Find2ndMaxNum(int* array, int len),就好像你不会设计出 DestroyBaghdad(); 这样的接口,而是设计一个DestoryCity( City& ); 的接口,而把Baghdad当成参数传进去!所以,你应该是声明一个叫FindKthMaxNum(int* array, int len, int kth),把2当成参数传进去。这是最基本的编程方法,用数学的话来说,叫代数!最简单的需求分析方法就是把需求翻译成函数名,然后看看是这个接口不是很二?!(注:不要纠结于FindMaxNum()或FindMinNum(),因为这两个函数名的业务意义很清楚了,不像Find2ndMaxNum()那么二)非功能性需求分析性能之类的东西从来都是非功能性需求,对于算法题,我们太喜欢研究算法题的空间和时间复杂度了。我们希望做到空间和时间双丰收,这是算法学术界的风格。所以,习惯于标准答案的我们已经失去思考的能力,只会机械地思考算法之内的性能,而忽略了算法之外的性能。如果题目是——“从无序数组中找到第K个最大的数”,那么,我们一定会去思考用O(n)的线性算法找出第K个数。事实上,也有线性算法——STL中可以用nth_element求得类似的第n大的数,其利用快速排序的思想,从数组S中随机找出一个元素X,把数组分为两部分Sa和Sb。Sa中的元素大于等于X,Sb中元素小于X。这时有两种情况:1)Sa中元素的个数小于k,则Sb中的第 k-|Sa|个元素即为第k大数;2) Sa中元素的个数大于等于k,则返回Sa中的第k大数。时间复杂度近似为O(n)。搞学术的nuts们到了这一步一定会欢呼胜利!但是他们哪里能想得到性能的需求分析也是来源自业务的!我们一说性能,基本上是个人都会问,请求量有多大?如果我们的FindKthMaxNum()的请求量是m次,那么你的这个每次都要O(n)复杂度的算法得到的效果就是O(n*m),这一点,是书呆子式的学院派人永远想不到的。因为应试教育让我们不会从实际思考了。工程式的解法根据上面的需求分析,有软件工程经验的人的解法通常会这样:1)把数组排序,从大到小。2)于是你要第k大的数,就直接访问 array[k]。排序只需要一次,O(n*log(n)),然后,接下来的m次对FindKthMaxNum()的调用全是O(1)的,整体复杂度反而成了线性的。其实,上述的还不是工程式的最好的解法,因为,在业务中,那数组中的数据可能会是会变化的,所以,如果是用数组排序的话,有数据的改动会让我重新排序,这个太耗性能了,如果实际情况中会有很多的插入或删除操作,那么可以考虑使用B+树。工程式的解法有以下特点:1)很方便扩展,因为数据排好序了,你还可以方便地支持各种需求,如从第k1大到k2大的数据(那些学院派写出来的代码在拿到这个需求时又开始挠头苦想了)2)规整的数据会简化整体的算法复杂度,从而整体性能会更好。(公欲善其事,必先利其器)3)代码变得清晰,易懂,易维护!(学院派的和STL一样的近似O(n)复杂度的算法没人敢动)争论你可能会和我有以下争论,如果程序员做这个算法题用排序的方式,他一定不会像你想那么多。是的,你说得对。但是我想说,很多时候,我们直觉地思考,恰恰是正确的路。因为“排序”这个思路符合人类大脑处理问题的方式,而使用学院派的方式是反大脑直觉的。反大脑直觉的,通常意味着晦涩难懂,维护成本上升。就是一道面试题,我就是想测试一下你的算法技能,这也扯太多了。没问题,不过,我们要清楚我们是在招什么人?是一个只会写算法的人,还是一个会做软件的人?这个只有你自己最清楚。这个算法题太容易诱导到学院派的思路了。是的这道“找出第K大的数”,其实可以变换为更为业务一点的题目——“我要和别的商户竞价,我想排在所有竞争对手报价的第K名,请写一个程序,我输入K,和一个商品名,系统告诉我应该订多少价?(商家的所有商品的报价在一数组中)”——业务分析,整体性能,算法,数据结构,增加需求让应聘者重构,这一个问题就全考了。你是不是在说算法不重要,不用学?千万别这样理解我,搞得好像如果面试不面,我就可以不学。算法很重要,算法题能锻炼我们的思维,而且也有很多实际用处。我这篇文章不是让大家不要去学算法,这是完全错误的,我是让大家带着业务问题去使用算法。问你业务问题,一样会问到算法题上来。小结看过这上面的分析,我相信你明白我为什么反对纯算法面试题了。原因就是纯算法的面试题根本不能反应一个程序的综合素质!那么,在面试中,我们应该要考量程序员的那些综合素质呢?我以为有下面这些东西:会不会做需求分析?怎么理解问题的?解决问题的思路是什么?想法如何?会不会对基础的算法和数据结构灵活运用?另外,我们知道,对于软件开发来说,在工程上,难是的下面是这些挑战:软件的维护成本远远大于软件的开发成本。软件的质量变得越来越重要,所以,测试工作也变得越来越重要。软件的需求总是在变的,软件的需求总是一点一点往上加的。程序中大量的代码都是在处理一些错误的或是不正常的流程。所以,对于编程能力上,我们应该主要考量程序员的如下能力:设计是否满足对需求的理解,并可以应对可能出现的需求变化。

⑼ 程序员面试时都要考算法吗

看应聘什么职位...我面试的时候一点算法都没有涉及到...
某些特定开发岗位确实需要回扎实的算法基答础.比如根云存储,大数据什么的.但是像普通的程序开发岗位应该对算法要求不大.

所以,我猜测:如果面试跟算法不怎么相关的职位考官还问算法的问题时,应该是你前面的回答还不足以让考官录用你。考官在给你展示自己的机会.

阅读全文

与面试算法考啥相关的资料

热点内容
晋升考核自我评价 浏览:480
职场新人自我介绍日语 浏览:700
职携求职公寓 浏览:354
醉驾人找工作 浏览:973
百度厦门六中艺术特长报名表 浏览:868
劲霸经编面试 浏览:364
小孩综合素质自我评价 浏览:470
玉环学校洗碗招聘信息 浏览:15
教师教育自我评价 浏览:192
2014合肥168中学特长生音乐录取名单 浏览:478
应届生面试自我介绍范文3分钟 浏览:800
丹阳人才招聘网 浏览:72
生物学科特长怎么写 浏览:250
昌硕面试后多久通知 浏览:925
陕西省铁饼特长生 浏览:751
硕展科技有限公司招聘 浏览:346
2019年南阳卷烟厂招聘信息 浏览:461
时尚招聘信息 浏览:341
安吉洁美电子招聘信息 浏览:106
个人简历问候语 浏览:924