‘壹’ 大厂数据分析面试题,大数据结构化面试
作为程序员,你认为代码只要实现功能就可以了吗?
其实,工作2~3年后,你会陪蠢发现随着工作的深入,工作中遇到的问题会变大,处理的数据量也会变大。
一开始,我可能会耐心加班,等机器处理好了再回家,但最后,处理完这些数据通常是在深夜。
面对这样的问题,其实可以用数据结构解决。 仔细整理开发中遇到的问题,会发现很多工作中的问题,用简单的逻辑就能解决。
举个例子,你很熟悉。 如何实时统计99%的业务接口响应时间?
您可能会首先想到,每次查询时,都会按照从小到大的顺序对所有响应时间进行排序。 如果总共有1200个数据,第1188个数据将有99%的响应时间。
很明显,每次用这种方法查询都要排序,效率非常低。
但是,如果知道“堆”数据结构,两个堆就可以非常有效地解决这个问题。
因此,数据结构是提高我们程序员工作效率的利器!
另外,已经工作了2到3年的你,可能想跳槽进入大工厂。
但是,当你去面试时,你经常会碰到数据结构和算法的主题。
目前,数据结构和算法是许多知名企业面试的必考问题。
国内外各大互联网公司在面试过程中,都多少听说了一些有关数据结构和算法的主题。
而且,规模越大的公司,越重视数据结构和算法。
例如,2019年6月,阿里面试中涉及的数据结构主题:
2019年华为面试涉及的数据结构主题:
目前,许多中小企业的面试问题都涉瞎盯及数据结构知识。
其实,你会发现,即使是大小公司,为了筛选更优秀的人磨乱和才,面试问题的难度也会越来越大。
因此,数据结构是进入大厂的重要门槛。
总之,如果你想提高工作效率,进入更大的公司,数据结构和算法是你必须跨越的一道坎。
从易传传媒、亚信、奥鹏教育、程序员到架构师再到技术经理樊延欣老师,前后六年通过各种工作方式打好数据结构基础,在过程中梳理了许多心得,进行了深入思考。
和樊延欣老师一起,死战数据结构,跳过代码陷阱,尽快完成数据结构通关,有机会升职更好。
扫描堆场上的二维码,点击组,立即抢购
原价69元,限时优惠49元
老师怎么解释这门课?#
老师介绍枯燥抽象的结构规则用详细的方法映射到实际项目中。 然后尽量脱离复杂的数学基础,在许多常见的应用场合映射相关理论,降低学习者的理解门槛,使其零基础也能学习。
同时,该课程至少涵盖了50%常见互联网公司中数据结构方面的面试问题纲领,序列和栈是基础性主题,树是更高级的主题,可以理解和把握,发挥面试信心,更上一层楼
#课程介绍#
#我能得到什么? #
1、提高编程效率和质量
熟悉数据结构原理,复杂的项目无需为需求实现原理而烦恼。
2、优化能力提升
随着了解的加深,能够发现与工作中数据结构特性相违背的代码,并具有优化修改的能力。
3、提高面试成功率
学习50%以上互联网公司数据结构的面试问题纲领,提高面试合格率。
#使用者群组#
1、开发业务系统2年,有相关项目经验,不断重复制作业务车轮希望提高的程序员。
有2、3~5年开发经验,但基础不牢固,想改变体系结构的程序员。
3、基础扎实,需要大量用例和思考才能巩固基础的优秀毕业生/在校生。
#新课初优惠#
限时49元
(成本69 )。
每百人加价十元
第26节课,平均每课2元,持续一个月,改变报关大厂面试机会
享受七折的折扣
自考/成考有疑问、不知道自考/成考考点内容、不清楚当地自考/成考政策,点击底部咨询官网老师,免费领取复习资料:https://www.87dh.com/xl/
‘贰’ 数学基础对于编程的影响大么
数学我觉得要学,但是数学并不和编程有太大的联系,数学跟你要解决的问题有着直接的联系,数学和编程语言一样,都是解决现实问题的工具.
你如果解决企业数据库的问题,或者偏重于日常应用的软件,这些应用依赖数学不是很多.但如果要做图形类的,特别是3D图形,没有掌握数学中的某些方面是学不下去的,比如最基本的向量,立体几何等等.我的意思是哪怕你要学数学,你也得为解决那些问题而学对应的数学知识.
数学只是编程的冰山一角.如果你真心要学编程,数学应该是最少需要担忧的问题.数学不是你阻挡你学编程的东西.其他才是...
还有我要说的是算法不是数学,数学是了解自然现象的本质.比如要动态画一个时钟指针,因为我学过数学中的三角函数,我知道角度的特性,所以指针位置x1 = cos(a) + 2sin(a) y1 = -cos(a) + sin(a) .根据公式我很快就能画出指针. 算法是为了解决某个问题,科学地分配元素的位置和执行操作的顺序,使达到我们期望的结果.算法和数学不是一回事. 这有点像我们学会了英语(C++),要你去描述发动机的内部结构,我们描述不了,因为我们不了解发动机的本质,这就是为什么我们需要学习数学---了解事物的本质.
‘叁’ 算法在Java程序员实际工作有多大作用感觉老师讲的好麻烦,数学学的不行。。。
算法是灵魂,语言是工具,是实现灵魂的工具。给你一个需求你需要用算法来抽象归纳总结,才能写出效率高,可靠性强的代码,来实现这个功能,只会语言的话,就只能当个代码民工,只能做替别人写代码这种低端工作,薪金当然也很低了
‘肆’ 面试时被问“你最大的优点和缺点是什么”, 该如何回答
首先这是个面试高频次询问的问题,这个问题一般是企业想要考察应聘者是否真的能认清自我及自身性格是否能够适应公司文化。所以回答这个问题,一般要提前准备下。
所以,总结一下,优缺点没有对错。一定要多回答和工作相关的。同时在回答时,你是否能正确认清自己,同时也要知道如何解决。举例很重要,千万不要只说结论,而没有解决方案。
‘伍’ 如何看待程序员面试让上机做编程题,这样的公司多吗
从事软件开发多年,上机写代码这种考查模式在国外用的比较多,很多国内的公司也在学习这种方式,这种方式能直接看出写代码的能力,但对上机做编程题目这种事情很多成熟的程序员觉得是一种侮辱,有一些程序员看到有笔试直接就选择走人了,这些东西在面试之前应该有沟通,事情不会变得这么被动,因为对于很多有能力的程序员,能够请到面试已经非常不容易了,能力越强脾气越大。
直接上机做编程测试能力的公司不是很多,从事软件开发十几年主要经历了四家公司,面试的时候主要靠面谈为主,因为编程行业能力的高低通过交谈就能了解差不多,只需要根据简历上写的项目进行细节沟通,如果真的做过几句话就能看出大概的水平,所以很多公司压根不搞什么笔试或者上机写代码的事情,编程这个职业主要靠时间的积累,并且在积累中不断完善自己的知识体系,慢慢提高自己的认知。
一个程序员如何提升自己的能力水平,对于初学者来讲首先是学习好一门编程语言,开始学习阶段觉得编程语言就是天了,好像是学会了编程语言就能做任何的东西了,随着编程语法的学习完毕就开始尝试做一些题目,结果发现距离语法真的非常遥远,所以有很多的初学者有一种感概明明在课堂什么都明白了,结果到真正自己实践的时候什么都想不起来,这是初学者必然的经历,编程本身就是一种不断磨练编程思想的过程,编程语言属于在辅助类基础技能,没有辅助就不会写代码,编程设计思想再牛也不可能实现,两者是相辅相成的作用,编程思想里面包含着仙姑经验的积累。
很多人觉得很奇怪有些公司也不进行面试也不让上机写代码,就是通过不到一个小时的闲聊就能把一个人的水平能力和工资水平给定位下来,通过面试就能检测出编程思想以及编程基础,编程基础类的考察只需要问几个简单的语法问题就能做个大概的检测,编程思想就是完全的编程意识以及编程经验的积累,所以一些企业在招聘的时候明确写着就相关开发经验的人优先,企业招聘的目的就是希望要的人在短时间内能够上岗直接切入到项目开发中去,整体来看是不是需要上机写代码测试完全看每个公司的技术文化了。
有些技术类的公司对于程序员的基本功要求特别严格,有个同事在第一家技术公司的时候,部门技术经理特别关注程序员的基本语法,只要是简单的代码语法错误,就能到部门的黑板通报,开始实施阶段很多人上了黑板,后来随着时间的推移上去的人越来越少了,同事说到自己上了两次黑板都是因为在使用指针的时候没有初始化导致,到今天还是记忆尤新,如果在技术生涯的初期能够经历过这种企业是一个技术人的幸运了,越是严格要求的领导或者公司越是有利于技术人员 的成长,至于在面试的时候要不要上机这个就看每个公司的技术文化了,一般注重代码基础的领导会引领这个事情,希望能帮到你。
笔试的我见过,但是上机的没有过。
1.笔试可以有
这么说嘛,其实简单的笔试的话肯定是可以的。因为笔试的话可以让招聘者知道你大概的能力定位在什么位置?一些逻辑编程可以测试你的逻辑能力。尤其是在it这个行业,逻辑能力是非常重要的。
如果说你是一个已经有工作经验的人。其实笔试就没有那么重要了。这时候看中的一般差不多就是你曾经的项目经历。
如果说让你做一些项目上的,比如说项目架构了这种的,你可以拒绝回答。因为我之前就有听到过说招聘产品经理,让他去设计一个产品的。结果这个公司就是通过一直招聘产品经理。然后让产品经理去设计产品相关的功能,最后再把这些所有求职者的产品相关的思维组合到一起。
虽然说这总公司是很少的,但是也不排除是有只通过这种方式来满足产品需要的。
所以解释的时候可以大概的写一个思路代码的流程,但是可以不用全部都写。
2.上机测试
我觉得这个确切的来说是有一点过分的。像这种上机考试的话,肯定他是需要一个比较完整的项目。但是这种项目谁都不知道是他们公司需要,还是让他仅仅是为了做测试。所以像这种事情完全可以直接拒绝。
在这里大概说明一下。 找工作是一个双向的过程 ,如果说是你无法接受这个公司相关的制度,或者说是相关的流程。其实你可以趁早放弃这种公司的,不然的话即使是你笔试面试都过啦,你到公司之后也会因为你自己的价值观跟企业的文化匹配不到一起。迟早还是要辞职的,所以你要慎重考虑。
其实面试的时候笔试和机试都是it的正常流程,但是在国内被玩烂了,面试和机试过程中,会有公司内遇到的问题做为面试内容的,也许是个人也许是公司,让你解决这样那样的问题,这样子的都是垃圾
作为一个老程序员,关于程序员面试的话题,非常有意思,特别有的聊。其实在 IT 界面,有两个不算公开的秘密,也就是两个不成文的习惯或者规定吧,关于面试的。
让老程序员做笔试题是一种侮辱
很多程序员,尤其是有经验的程序员,去面试的时候,尤其是去小公司面试的时候,如果对方给你出了一套笔试题,很多程序员会说: 我转头就走,这是对我经验水平的侮辱 。
你们是不是感觉很吃惊,还有这种道理?确实是,我有一次去一个创业公司面试,对方给我出了一套笔试题,我做完了,面试完回去跟一些同事聊笔试题的事,他们会惊讶的说:你竟然把笔试题做了?你是有经验的程序员,不应该经过笔试的,直接面试就行,笔试是一种侮辱。那是我才发现,好多程序员都这么认为的。
但是,我感觉这是一种病态思维,你既然去面试,其实笔试也是面试的一种,你去大公司比如 BAT 这样的公司的时候,也会有笔试,而且层层面试好几轮,你都能忍,一些小公司给你出笔试题,你竟然受不了?公司用什么方式来面试你,是公司的选择和考量,当然了,面试是一种双向选择,如果你感觉是侮辱,当然可以选择不面了,这是双方面试的权利。
但是,我感觉笔试是一种正常的流程,跟有没有经验没有关系。有经验了,你笔试你确定能过么?
很多程序员都不会选择上机测试
还有一种就是面对上机做题的面试,很多程序员都不喜欢,其实我也不喜欢的,大部分程序员好像遇到上机面试的情况,也是选择扭头就走。
其实,我感觉上机测试是可以接受的,但是是有条件的,那就是上机做题,可以做算法题,这种方式我能接受。
有一次我去面试,他让我上机做题,竟然跟我说用 Android 写个什么功能,什么模块,简直了,这种题怎么做?直接去实现功能模块,写其中的一个点,我都不熟悉需求,也不熟悉功能模块,上来就写,怎么做?没法弄。我直接就走了。
算法题属于比较明确的东西,上机做两道应该是可以接受的。
你问上机做题的这样面试的公司多吗?可以明确地告诉你,不多,我工作这么多年,面试了很多公司,只遇到过两家。
我是负责我们公司技术面试的,机试环节必不可少。题目不会很难主要是考核程序员的感觉,只有有感觉的程序员才能写好大程序,这很关键。
很正常,程序员都会有面试和笔试。如果只出一些纸上的笔试题,还不如看你直接动手操作能力来的快
这主要看做什么了,我最头疼的是拿一个构架来靠你函数命令。我都是自己写数学模型和函数。我哪知道这个构架的函数名?
务实啊,说明人要的是能实干的程序猿,没什么奇怪。面试需求很明确,要会干的。找领导才找会说的。刚毕业面试的时候遇见过这种机试,程序猿这行算是工科,靠技术吃饭,面试动手实战是正常的。
这样的公司会存在
基于以下4个原因:
1 面试的人很多,不想花过多的时间去筛选。这样做题,可以快速过滤一些滥竽充数的人
2 通过合理的上机操作,有针对性地找合适的人,匹配的人也能快速完成上机操作
3 标准,对面试者统一对待,以免主观原因造成误判
4 面试者的配合度,一般看到机试,有人就会直接退出。(我遇到这种情况,就会直接走)
以上4个原因,都是较为正式的原因,还有一个主要原因就是能力不行,面试官无法正确筛选简历,面试官无法从面试中获取想要的信息并加以判断。
基于最后一个原因就是我会选择直接走的原因,面试官能力不行,表示公司对此招聘的用功不足,该公司没有能力或没有意愿重视此次招聘。即使入职,收到的待遇不会重视,没有必要把自己的前景压在一个不会重视你成果的公司上。
支持,不然很多水逼,划水货太多了
‘陆’ 数学不好的大专生可以当程序员吗
这个问题,主要可以分解为两个方面进行回答:
一、数学不好可以当程序员吗?
对于数学不好的问题,其实大可不必担心。
因为在计算机编程领域,大概只有 0.1% 的问题需要真正的高深数学知识,需要这些高深数学知识的岗位本身入门门槛就很高,我们普通人几乎是没机会的。
而另外 0.5-1% 的问题是这样的,用二维或者三维图形可以让绝大多数大一学生轻易理解。但是现在把输入和输出都变成等价的数组或者 bitmap 然后让你用代码中的公式解决,并且在过程中还要考虑诸如内存每次只能处理局部数据然后再组合到一起。能解决这种问题的人就已经被称为程序员里的“数学牛人”了。其实需要的数学知识大一高数。
另外 99% 就是初中数学,需要的是演算能力而不是数学能力。
二、大专生可以当程序员吗?
这个问题也是很好解决,要知道,从各大招聘网站上搜索了解,招聘大专学历的企业大有人在。并且稍微多一点的解也能知道,现在招聘程序员的学历起点最低也是从大专开始。所以不用担心学历会成为你入行的阻碍。
不过,如果你有自己的心仪(目标)企业的话,且该企业的招聘要求明确规定要本科的话,那你可以在学习提升技术的同时,相应的提升自己的学历(专升本),现在提升学历的渠道和途径很多,只要你多用心一点,也是能拿到本科学历的。
当然,好的学历自然有很大加分甚至很大占比,但是技术类岗位也很看重实际能力。如果认定这一行的话,自己不断充电之外,多做项目,实习或者工作都好,有了几次拿得出手的项目辅以拿得出手的能力,就可以很好地跨过学历关了。