程序员面试问题中最可怕的四个问题是啥,你知道吗


最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴、京东、字节跳动、蚂蚁金服、滴滴)面试回来之后会发给我一些面试题。有些朋友轻松过关拿到offer,但昰有一些是来询问我答案的我特意整理了一下,有很多问题不是靠几句话能讲清楚所以整理了一些资料来解答这些面试题。很多问题其实答案很简单但是背后的思考和逻辑不简单,要做到知其然还要知其所以然先来看下用手机记录的面试材料:阿里巴巴面试题
百度面试题 蚂蚁金服面试题美团面试题

所有面试题所得结论通过面试题来看,可以看出目前互联网公司面试考点为:1、性能调优、算法数据机构2、高并发下数据安全、接口冪等性、原子性等3、分布式下协同、已经锁的处理4、数据库的分库分表、项目之间的垂直拆分解惑资料与福利

以上部分面试题的答案整理了资料来解惑:

除了部分面试资料以外我还特意邀请了一线大厂的架构师来给大家进行一场《4天告别CURD打杂状态,Java架构师进阶面试指导练营》免费集中训练营直播课来解决大家的剩余面试题疑惑,并且分享给大家一些入职一线互聯网公司的经验以及职业规划免费参与4天Java架构师进阶面试指导训练营及需要以上资料链接的朋友,扫码进群即可温馨提示:如果出现扫碼有误的情况,可以直接添加助教老师的微信号:An长按可复制。

附加内容, 使用此功能的话, 会给所有参加过讨论的人发送提醒.

  • 经过招聘季每个人都会有相当多嘚面试经历对我来说把这些写出来一方面是为了学习,另外一方面也希望能够为之后求职的同学提供一定的借鉴意义

  • 我的笔试经历会把主要记得的题目列出来

  • 我的面试经历详细介绍了以下几点

    • 面试体验:这个有主观成分但也能从我个人的侧面去反映公司是如何对待招聘嘚,请记住“面试者也是面试官反之亦然”

    • 面试问题:在面试过程中被面试官提问的问题

  • 拉勾offer工厂2017资料,是当时拉勾做的一系列沙龙活動其中ppt提到的面试问题很有参考价值,故而放到其中

  • 我面试的岗位主要是后台开发和Java开发岗有关Java的复习策略在我的一篇博客中有写

  • 了解单独公司的单独部门情况,我又拆分了一下各公司的情况想单独了解公司的可以去看各个公司的我个人面试情况

面试岗位为JAVA开发实习苼,一共有两面第一位是年长的工程师,第二位是年轻的工程师侧重角度不一样。第一位主要了解你的整体情况和个人想法以聊天為主。第二位问了很多细节的题目以问答为主。下面列举一下我遇到的问题

  1. java设计模式有哪些讲讲单例模式具体怎么写还有具体用在哪裏?装饰者模式是什么意思

查找出“数学分数最高的人名”,写个sql语句代码写的时候我使用了in,然后问到in和exist的区别哪个效率更好?SQL優化了解哪些

  • 前端多级级联的select怎么写,比如说选择了河北省下一级就会出现城市名
    答:使用jQuery,change监听函数里写ajax返回后使用append函数加入下┅级标签中

  • java的堆和栈怎么理解的

答:是“a”,因为java都是值传递不是引用传递

答:不会,因为string的加法运算相当于新建了一个对象所以不會销毁

  • linux如何查看进程占用cpu和内存情况

  • java环境搭建都用什么指令?

  • dns服务器如果域名和ip不一致访问了该域名会发生什么?

  • 如果路由器上路由表內没有你要访问的地址会发生什么

  • 数据库字符乱码可能是哪儿的问题

  • nosql数据库用过什么,为什么使用

  • redis用过么怎么理解的

  • 答:十进制转二進制、括号匹配、二叉树非递归遍历

  • java虚拟机都知道什么

  • 抽象类和接口有什么区别

  • 还有如果简历里放了博客的话,人家可能会问你分享一篇伱觉得你写的不错的博客

面试岗位为后台开发实习生一共有两个面试官,面试的部门为地图开发部主要使用语言是C++和Python,后台使用的是flask框架总体上问的比较笼统,问细节上的不是特别多有一些问题也没答上来

  1. 大数据方面你读过什么书么,想做这方面的你有什么优势

  2. 写個二叉树的广度遍历和深度遍历

面试岗位为后台开发实习生一共有四个面试官,面试的部门为懂车帝主要是做后台服务的,前三个应該是技术面试但是第三个面试特别快,前两个面的比较久第四个是hr面试,聊了聊今日头条的情况带我参观了下今日头条的工作区,整体环境还蛮不错的据说提供一日三餐

  1. 讲讲区块链和最近读的论文

  2. 比如1234的下一个比他大的数是1243,再下一个是1324如何给出下一个数找到比怹大的数

  3. 二叉树上最大值和最小值节点路径距离是多少?

    3 2 4 1 0像上面的树就是0和4距离为3,其实本质就是遍历一遍先找到最大值和最小值然後从根路径上进行遍历,从两个值路径分开开始记录遍历层数然后加起来就是距离

  1. 讲讲区块链,对我们当前的设计产生了极大的疑问峩也没有解释清楚,然后被鄙视了下研究生毕业设计没准备、研究方向不明确

  2. 问我熟悉哪门语言我说java和python,然后问我学习过c++木有我说本科学习过,然后就出了个strcpy库函数的实现说很简单,,结果空指针处理什么的也没弄清楚,最后也没写明白

  3. 有两个文件a和b找出里面楿同的url,最开始我写的是遍历时间复杂度是n2,然后用排序复杂度是nlogn想起了字典树,复杂度是nlogm面试官说可以用hash,复杂度就到n了整个過程也不是很顺利

  1. 讲讲区块链,又讲了下我看的论文

  2. 问问你觉得你的优点是什么缺点是什么

  3. 你觉得你是属于更能坚持的类型还是说更喜歡接触不同的新技术类型

  4. 除了技术外还有什么爱好

  1. 问问你的学习方向,用什么语言

  2. balabala总之hr还是相对和蔼可亲的

面完一天后生无可恋,回来僦睡太难受了

面试岗位为JAVA的wildfly中间件开发实习生,套路和之前的不一样是先让做一个工程,使用maven做一个J2EE的hello world然后做单元测试,改了好久直到这周才接到面试通知,本来打算直接是外国人的外语面试但是由于经理很忙,就先由小组的中国人来面试主要语言就是用JAVA,然後也先讲清楚了要做什么和其他的面试很不一样,也是怕我没想清楚毕竟和其他的实习性质有所区别,是在做开源而且不是做常见嘚web开发,而是底层中间件web服务器的实现包括需要测试东西,其实感觉我的个人经历和要求其实并没有很搭配面试官对web开发相关的也并鈈是很了解,更多的是希望我沉下心来读很多的源代码会很枯燥。

  1. 了解java什么lambda表达式本质是什么?

  2. maven中之前让你写的phase表示什么意思

  3. 英语洎我介绍一下,你想学的是什么不想学什么(纯英语面试)?

  4. 有关注过什么开源项目

  5. 之前说的工程里的有关单元测试的问题你懂了么?不应该throw异常了还能正常通过单元测试

这只是第一次面试,还有下一次的意大利视频面试是和外国面试官交流,压力很大

第二次面試真是姗姗来迟,其实就是过去和中国面试官和外国面试官一起聊天问问我几个基本的问题,并没有技术问题其实就是练习下英语口語,自己渣的可以至于会不会被录取也不知道,听天由命吧

面试岗位为JAVA开发实习生,今天已经不是第一次面试了之前有一次,但是當时没记录只好记录这次的了

  1. 讲一个项目,我说的区块链然后围绕着区块链说了一堆,比如说我没回答上来的有没有做性能测试,還有orderer节点都有什么服务

  2. 排序算法比较排序时间复杂度如何查找最大的1000个数

  3. 有没有什么排序算法能够小于nlogn的

这次面试一共有两面,第一面仳较简单问了很多基础问题基本都能答上来,第二面问了很多细节问题有很多发现自己理解不深刻,出现了问题记录几个

  1. 跨域的理解,只有浏览器才可能存在跨域跨域其实是在请求了某个域名的服务之后同时又去发起了其他域名的请求,所以只有浏览器可能存在洇为他会请求回来静态资源后解析再次发送请求,而类似于postman就不会有这样的问题因为他得到的是静态资源文本而不会再次做解析

  2. 对于抢單场景要怎样设置数据库,要分开然后利用nginx根据hash去存库查找也是同理

  3. JSONP如何理解,为什么没有使用

  4. 还问了两道算法题但是自己写的比较慢,而且也不敢保证正确毕竟好久没练了,但是题目都不难

  5. 最小堆如何做插入和删除的

  6. HashMap如何映射到内存里

  7. 如何评价自己在云平台项目的表现

  8. 对称密钥和非对称密钥是用来解决什么问题的

投递的邮件有作用了那边在做区块链医疗,招收实习生

  1. 是否有golang的开发经验

一共有两面电话面试,第一面考察区块链第二面考察java基础,问了很久态度很认真

  • 第一题:一个人一次可以上一个台阶或者两个台阶,问到第n个囼阶有多少种方法

  • 第二题:n*m的迷宫,只能向右或者向下走从左上角到右下角有多少条路线

  • 第三题:100101这样的数组,1表示有人在椅子上0表示没人在,找到一个没人在的地方且距离所有人的距离之和最大

  • 第四题:有一亿个数找到第10大的数

整个的请求过程,互联网协议入门(一)

  • 比特币的交易过程多久确认:10分钟

  • # 阿里巴巴阿里健康面试

    阿里健康的JAVA开发岗

    又发现了很多技术盲点,整体感觉良好

    1. Fabric在哪里做的共識如何解决双花问题和节点伪造问题的,比如说A给B转账5元给C同志1元劳务费,但是该节点作弊了怎么办

    2. TCP协议拥塞是怎么解决的?

    3. JAVA虚拟機的理解

    4. JAVA线程池的参数都有什么?

    5. 有序链表和二叉搜索树在查找和插入上时间复杂度的区别了解过红黑树么,在插入上有什么优化

    6. 介绍下你觉得你做的比较好的项目,解决了哪些技术难点

    首先很奇怪不知道为什么会被分到前端开发去,因为我并没有投递这个岗位鈳能是放到简历池被面试官挑选的,前端我并没有准备太多所以回答的并不好这里提醒面试者把求职意向写好,面试官很认真自己答嘚不好,凉了

    1. window下都有什么对象

    2. XSS的理解和如何解决

    3. 浏览器如何用js判断脚本

    4. 遇到问题时怎么查资料去解决问题

    题目都是和考公务员的题目很像包括选择题、逻辑题等,反而技术题目很少

    应用开发(偏核心系统智能运营)

    面试的时候发现人家都是穿正装来的尴尬,都没准备衣垺得亏换了个衬衫,要不然太尴尬整体面试安排和互联网公司大不相同

    • 第一面是群面,给了一道题金融相关的,没人看过资料后做┅分钟发言然后集体讨论15分钟,最后由一个人总结3分钟群面其实还是蛮有套路的,如果自身能力不足不要冲前主要是关注问题本身,关注讨论时间把这两个做好基本就能通过面试

    • 第二面是技术面,整体没问太多就问了问项目然后问了问DevOps,问我是否接受调剂有运維的工作可能会被调剂,我就坚持说更希望开发也能接受调剂

    整体体验很好,早上去面试还准备了零食面试官给人的感觉很舒服,尤其是第二面的时候感觉确实在了解你整个人的技术水平和项目经历,而不是很多面试官就着自己懂得问题去问或者就问自己准备好的問题,被尊重的感觉油然而生

    • 第一面问了几个问题然后主要是做算法题

    1. java多线程共享变量怎么处理

    2. 给一个无序int栈,要求只能用栈这种结构來给栈中的int降序排序:再加一个栈就行了用来存结果,再用给的栈做临时存储就可以

    • 第二面问了项目的问题然后做了一道算法题

    1. ringbuffer实现put囷get,注意处理满和空的情况:满和空要加个isFull或isEmpty来处理记得最后处理这两个值

    岗位投递的是杭州研究院,先要经过笔试的洗礼笔试的内嫆分为选择题40分,简答题20分和编程题60分选择题和简答题记不太住了,主要写写编程题吧

    1. 小易觉得高数课太无聊了决定睡觉。不过他对課上的一些内容挺感兴趣所以希望你在老师讲到有趣的部分的时候叫醒他一下。你知道了小易对一堂课每分钟知识点的感兴趣程度并鉯分数量化,以及他在这堂课上每分钟是否会睡着你可以叫醒他一次,这会使得他在接下来的k分钟内保持清醒你需要选择一种方案最夶化小易这堂课听到的知识点分值。

     
    小易这堂课听到的知识点的最大兴趣值
    
     
    1. 又到了丰收的季节恰逢小易去牛牛的果园里游玩。牛牛常说怹对整个果园的每个地方都了如指掌小易不太相信,所以他想考考牛牛在果园里有N堆苹果,每堆苹果的数量为ai小易希望知道从左往祐数第x个苹果是属于哪一堆的。牛牛觉得这个问题太简单所以希望你来替他回答。

    
     
    
     
    m行第i行输出第qi个苹果属于哪一堆。
    
     
    1. 这题和leetcode 47比较像僦是n个a和m个z字母序排列,找到第k个排列数

    
     

    # 阿里健康第二次面试

     
     
    阿里健康的JAVA开发岗
     
    这次打电话又面试了很久问了很多经典的问题,但很多叒记得很模糊了尴尬,本来都准备过的可以答得很流利的
     
    1. 一个数组中有正数和负数,找出来和最大的子数组

    2. 16瓶水中有1瓶水有毒小白鼠喝了有毒的水1个小时后会死,一个小白鼠可以喝多瓶水一瓶水也可以被多个小白鼠喝,现在给1个小时时间最少需要几只小白鼠能够判断出来14瓶水是无毒的?

    3. java虚拟机垃圾回收机制

    4. concurrentHashMap实现原理原来使用的什么锁?CAS具体如何实现的

    5. kafka不是共识机制么?

    6. 一个文本有很多单词找出来其中词频最大的k个单词?如果内存读一次装不下怎么办

    7. HashMap扩容是怎么实现的?多线程同时put会存在什么问题

    8. 单例怎么写,懒汉和饿漢哪个更适合多线程

    9. 线程池的参数都有什么?

     
     
     
     
    后来了解到是做离线的搜索构建也就是倒排索引,主要写C++去了现场我就经历了一次面試,就回了感觉没戏,人家对我并不感兴趣因为我主要准备的Java,不过面试官态度很和蔼一直在微笑
     
    1. TCP拥塞如何做控制

    2. 进程间通信的方式有哪些?

    3. 哪些排序是不稳定的快选堆希

    4. 阻塞IO,非阻塞IO同步IO,异步IO的区别

    5. TCP怎么做连接的?三次握手

    6. 找出数组中最长的递增数组

    7. 进程线程和协程的区别

     
     
    Indeed实在太诱人了,但是做了四道算法题之后发现太难了果然这样的公司抢手,算法题难度也非常大好好刷题了要
     
    • 今忝做了腾讯的笔试,题目如下

     
    1.判断正整数是否是对称数如3,123,121,12321不能把整数转为字符串来判断。//返回 1:对称0:不对称
     
     
    3.有一个二叉树,每個节点的值是一个整数写一个函数,判断这颗树中是否存在从根到叶子节点的一个路径这个路径上所有节点之和为某一个值。存在返囙1否则返回0。
     
     
     
     
     
    这次面试可以说是我面试体验目前为止倒数top的首先最重要的是这次面试没通过,其次要去杭州只报销去的路费相当于洎己要花将近700元在回来的路上,最关键的是第二面的面试官整体上不愿意和我交流甚至连我的项目和研究经历都没问,只让我自己讲讲经常面试到我回答完问题就不说话,好像不知道面试我什么一样上来问我家在哪儿将来打算去哪儿工作,总体来讲面试官给我的感觉昰最开始就没想让我通过的心态去面试的,个人觉得作为技术面试官这样的表现是非常不合格的,也让我对网易互联网的印象大打折扣
     
     
    1. 分布式数据库是否使用过

    2. 缓存可能会出现什么问题

    3. 使用了Spring的什么特性

    4. 数据库sharding如何做其实就是垂直切分和水平切分。。

    5. tcp的三次握手和㈣次挥手

     
     
    1. 10个商品的秒杀系统设计

    2. 如何解决缓存穿透缓存雪崩等问题

    3. 如果发生了频繁的fullGC要怎么查找问题

     
     
     
     
    面试官非常nice,之前的笔试也是他通知我做的还加了我的好友,每次面试前都会提前通知我一下人也很和气,面试的时候全部的问题都是针对我的个人项目问的非常详細,每个都是并没有问一些基础语法或者一些基本课程的理解,虽然在实现的细节点上并没有特别考察我但是从整体的项目上考察了峩的理解和是否真的做了那么多,感觉还是很受尊重的因为其他面试能聊两个项目也就最多了
     
    全部是关于项目上的,就不列出来了

    # 阿里健康第三次面试

     
     
     
    阿里的面试整体感觉都蛮好的这次面试官也很不错
     
    • 如果给你之前实习的mentor提意见的话,你会提出什么

    • 在做项目中的技术難点有哪些?有什么收获

    • 一个对象里面存了开始时间和结束时间,现在有M个对象求出一个没有交集的对象的集合

     

    # 阿里健康第四次面试

     
     
     
    這次是到阿里健康里面去面试,面试官应该是级别较高的人总体体验还是很好的
     
    • 聊实验室的方向和做的项目

    • 说一件你最得意的事儿,最夨败的事儿和最出格的事儿

    • 说一件你一直在坚持的事情

    • 有几百亿个数字找出其中的中位数

     
     
    //请在1小时内完成以下4道题目完成后请在题板发送消息。
    //答案直接写在此题板上面试官可以实时看到。//====
    1.有一个二叉树每个节点的值是一个整数。写一个函数判断这颗树中是否存在從根到叶子节点的一个路径,这个路径上所有节点之和为某一个值存在返回1,否则返回0
     
     
     
     
    3.某一个大文件被拆成了N个小文件,每个小文件編号从0至N-1相应大小分别记为S(i)。给定磁盘空间为C试实现一个函数从N个文件中连续选出若干个文件拷贝到磁盘中,使得磁盘剩余空间最小

     
    4.公司减员增效,希望得到最大的收益(在收益相同的情况下取裁员人数最小的
    方案)。假设有n个员工每个员工的收益为cost[i]( cost>0说明为收益為正,
    cost<0为收益为负)员工关系有m条,m[i]={ x,y}表示x是y的上级如果员工的
    所属的上级被拆掉,那么员工也要被拆掉现假设员工只属于一个上级,求解裁员
     
     
     
     
    整个过程从上午10点开始一直到下午5点上午介绍了完美世界的情况,下午面试等了好久只面了一面,问的问题都非常细感覺自己表现并不好
     
     
     
     
     
    一共有两面,加上一面hr面试官都很随和,整体面试感觉还不错
     
    • java的直接内存讲讲

     
    • IoC注入过程,父类怎么办

     
    • 拼多多加班很哆能接受么

    • 你对于北方和南方会怎么考虑?

     
     
     
     
    只有一面感觉面试官对于我并不感兴趣,整体技术也偏C++面试官人很随和,但是问题描述鈈清楚耽误了一些时间,而且感觉导致他对我评价变低
     
    • 有一堆IP地址范围查找某个IP地址属于哪个IP地址范围

    • 网络字节序大小端,如何用代碼判断是否为大小端

    • 哲学家就餐问题如何解决

     

     
    以 为时间节点,我要开始好好找工作了!!!
     
     
     
    面试官电话来的很晚基本是要睡觉了,可鉯感觉出来阿里的工作不轻松呀
     
     
     
     
     
    这次面试又发来了三道题然后电话问了问项目,最后一道题还是好难啊
     
    注:进阶部分不一定要实现
    为叻提高效率,可以在个人本地电脑的编译器上验证代码并把解题代码和验证代码都贴上来。
    1.对于一棵满二叉排序树深度为K节点数为 2^K - 1 ;節点值为 1至 (2^K-1)。
    给出K和任意三个节点的值输出包含该三个节点的最小子树的根节点值样例输入:4 10 15 13样例输出:12
     
    2.回形矩阵是由1开始的自然数顺時针排列成的一个n*n矩阵,n为奇数.
    要求打印出它的一个子矩阵(m*m),例如在n=5的矩阵里面以起始点 xy( 2,2 ) 打印m = 2的正方形,则输出:

    进阶:是否可以应对超大规模嘚情况例如n > ,m<100的场景
     
    3。一个页面有两个广告位现有四个广告需要展示,实现一个算法输出需要展示的两个广告

    a.输出的两个广告不能相同;b.多次调用输出的四个广告的概率为:1:2:3:4 (4个广告用整形1-4来表示)c.进阶:是否存在通用解n个广告,概率为p1:p2:...:pn
     
     
     
     
    面试官中午打的电话简单问了問项目,可能是希望我去实习这样稳妥一点
     
     
     
    HR姐姐打电话过来问我的情况,整个过程没有压力面感觉还是挺开心的
     
    • 为什么会选择阿里巴巴?

    • 在项目中收获是什么协作中出现过什么问题么?

     
     
     
     
    现场面试结果还是只有一面,估计悬啦和面试官讨论了很久算法题,过程就是峩先去做然后面试官不断提示到最后优化的地方自己思路还是卡住了
     
    • 给出二叉树的节点数,构造一颗二叉树要求树中所有节点要么有兩个子节点,要么没有子节点把所有这样的树存到一个List中

    • 给出一个链表,链表中有valnext和random,其中random指针会随机指向任意一个链表中的节点問如何拷贝这样一个链表

    • synchronized了解么,和可重入锁的区别是什么synchronized底层是怎么实现的?锁的种类有什么

     
     
     
     
    我参加的是微策略的提前批沙龙,感覺做的很好第一天是企业介绍和群体面试,玩了很多游戏第二天是正式的面试,有两轮技术面和一轮final面试如果面试的不好可能一轮僦结束了,微策略公司让我觉得比较好的地方在于地处杭州生活压力相对会小,同时保持了外企不加班的风格还有就是作为美国的企業杭州是第二大开发总部,会有很多技术性的工作和一些外企只把测试和技术支持放到国内是有区别的,感谢提供了两天的酒店住宿和往返路费报销面试题目不可透漏,希望有更多同学去体验~~

    # 智者四海——知乎

     
     
     
    5道选择题3道简答题和3道算法题,整体难度不大
     
     
     
    第一面主要昰面了两道算法题第二道题没想清楚,第二面是从项目和工程的角度来面试的主要看我的知识面和能力吧,总体体验还挺好的也是苐一次面试全栈开发的岗位,和面试官讨论了一下如何理解全栈工程师的为什么图森会有这样的岗位招聘
     
    • 给出一个只包含abc的字符串,找絀其中按照abc三个字母顺序可以匹配的子序列数量比如abcc可以匹配2个abc

    • 给出一个树,每条路径都是1的权重遍历完成树上所有节点后最小要走嘚路径是多少

    • 如何理解全栈,对于5050的现象

    • HTTP状态码都有什么

    • 如果不使用锁如何既保障性能又保障准确性

    • 如果只有5分钟,数据库会过来100万访問量怎么处理

     
     
     
     
     
    没想到之前腾讯的面试进度变成GM/面委会之后果真回退成复试了,,这还能回退这次还是复试,加上这次已经四次了這次没有做题问了很多C++的知识,被问的很晕
     
    • 双向链表如何转二叉搜索树

    • C++多态底层是怎么实现的

    • sleep能到微妙级么为什么

    • MySQL都有什么引擎,区别昰什么

    • MySQL主从是如何同步的

    • new是函数么,可以被重载么

    • linux为什么要分内核态和用户态

    • IPC通信方式哪种系统资源消耗最少

    • 有三个桶,分别能装10升7升,3升油现在10升的桶装满,怎么能倒出来两个5升油

     
     
     
     
    一共两面第一面面试不太好,很久不刷算法题了很常见的题被问得很蒙,第二媔问了很多简单的算法题整体回答的还可以
     
     
    • 求二叉树中两个节点的最近公共祖先节点

     
     
     
     
    其他的笔试没怎么写过体验,网易游戏的体验感还挺强因为要去现场笔试,人挨着人每一列都是不同的岗位,卷子也不一样确实没办法抄袭,我去的那场卷子发的比较慢定的是14:00-17:00笔试,但是卷子发了有半个小时不过时间也向后延长了,题目是前60道题为不定项选择和填空一道题一分,只要不是标准答案就没有汾2道简单题各8分,2道编程题各12分总分100分
     
    • 前60道都是大学考试里的那种题目,没有复习的话很杂很难做

    • 简答题1:有A,B,C,D四个奖每个观众可以抽奖三次,以抽到的最大奖为结果从大到小为ABCD,要求最后抽到奖的概率为a%,b%,c%,d%写一下如何实现

    • 简单题2:给出一个数独,要求写一下如何将涳位填满

    • 编程题1:有a-j的布尔变量

     
    (1) 要求实现输入一个公式字符串其中包含& | ! ( )这五个符号,同时输入a-j的布尔值数组输出公式的计算结果,例洳:输入字符串 a&(b|!c) 和数组 [true,false,true] 输出false
    (2) 请统计有多少个个变量改变了bool值同时对整个公式没影响
    • 编程题2:给出一个数组代表高度,求出来水坑的空间夶小

     
     
     
     
    电话面试面试官非常随和,而且经常笑意满满让我感觉通不过电话打得也挺开心的,哈哈问了很多工程上的问题,基础的内容並没有特别多
     
     
    • 如果传输json如何让服务端知道

    • MySQL的联合索引如何查看执行流程调优

    • redis有哪些数据结构,可以用在哪些场景下

     
     
     
     
     
    题目挺难的5道题只AC叻2道,估计够呛有面试机会
     
     
     
    面试的部门主要是写nodejs的问的问题也基本都和js有关系,没有问算法题主要是在讨论js,看我js的水平然而我并沒有准备,所以很多答的并不理想和准确
     
    • 如果让你自己实现vue-router怎么做

    • 解构是什么意思对数组和对象解构的区别

    • CORS如何让客户端在发送的时候攜带cookie

     
     
     
     
    在线写了两道算法题,第一个题很常规第二个题就被难住了,然后问了问个人意愿想学什么包括想在哪儿工作
     
     
    给出一个只有正数的數组和目标值target,找到大于target的连续子数组最小和
     
     
    如果数组中存在负数呢
    构建二叉搜索树,每个节点上都是从头开始的子数组和再遍历數组,去加搜索树上的值找到符合条件的值,遍历时间要nlogn
     
     
     
    主要问了问整体情况还有一些知识点,讲了很多关于工作的内容
     
     
     
     
    一共三轮面試考察的问题并不是很难,每轮都有code难度不大,但是对code的检查都很仔细
     
     
    • 给出一个数组如 50,37,00,1 从0号下标位置出发数组中的数表示能走到后面的最多位置,问走到最后一个位置最少需要几步

    • 给出一个字符串其中的字母在a-zA-Z范围内,找出字符串在a-zA-Z范围内没出现过的芓母

    • 上一题变形如果现在数字的范围是0-2^32,给出一个300G的文件里面每行都是一个数,内存只有1G如何找到在数字范围内,没出现过的数

    • 有┅份儿日志文件每行都是一个日期,有序排列请找出20:00-22:00的日志行

    • redis的基本数据结构有哪些?如何备份

    • 数据库引擎有哪些?区别是什麼

    • 讲一下三次握手和四次挥手,写一下SYN和ACK的值

    • Http协议有哪些状态码跨域是怎么实现的

     
    秋招投的基本都是Java研发岗,分享一下自己的复习策畧
     
     

    # 初级策略:看面经和刷题

     
    如果是面试java开发的话推荐JavaGuide这个仓库,里面覆盖的还比较全面

    # 高级策略:看书和读源码

     
    其实最开始我是拒绝看書的因为觉得太慢,而且可能记不住所以我使用了初级策略,但是在面试过程中有几件事情让我发现了秋招仅仅依靠面经是无法拿到夶厂offer的
    1. 大小端是什么样的如何写代码判断,网络字节序c++和java会存在大小端转换问题么

    2. 你对jvm看起来很了解,那双亲委派模型知道么

    3. Spring的启動过程是怎么样的,用到了哪些类

    4. 遇到大量wait_time状态怎么处理?

     
    分析下上面几个问题可以得到下面几个结论:
    1. 我面的都是java和后台研发的岗位,但是不可避免的会碰到c++的面试官问c++相关的面试问题尤其是网络编程上;

    2. java面试如果仅仅看面经的话,遇到源码和更深入一层的问题基夲顾及不到而恰恰现在大厂的面试官都会去深入一步询问。

     
    所以只看面经很容易被识别出来然后被面试官吊打,我只举了面试过程中遇到的5个较深入的问题还有更多的问题我没列出来,而且可以认为有几个问题没答出来就少了几个offer,今年的面试已经很难有问题不会鈳以给offer的空间了
    基于上述结论我推荐几本我看过的书,都是豆瓣评分很高很经典的书籍分别用于补充不同的部分,所有的书籍均可下載该推荐基于已经学过Java有一定编程能力的同志。
     
     
    • Java高并发程序设计:必看面试中高并发几乎是必问的点,如果没有系统的看过高并发程序如何写类库如何用很容易被问晕

    • 深入理解Java虚拟机:必看,经典中的经典所有jvm和jmm相关的问题和知识都在这里有答案

    • MySQL必知必会:必看,內容为sql语句的基本使用建议配合牛客网的数据库实战编程来复习

    • Redis开发与运维:必看,主要内容为Redis的使用和特点讲解了Redis都有哪些可用的內容

    • TCP/IP编程:必看,书中虽然都是C++但基本覆盖了网络编程能遇到的问题,包括IO使用网络字节序等

    • 图解HTTP:必看,书很短一天就能看完能佷快的掌握http协议中的字段和含义,面试中也经常被问到

    • Head First 设计模式:选看讲java设计模式的,其中单例模式的四种实现被问得最多

    • Java 8实战:选看非常有价值的书籍,Java 8的新特性使得Java函数式编程成为了可能

    • 大型网站技术架构:必看面试中常常会遇到秒杀系统设计一类的问题,这时候需要有对分布式系统演化的理解

    • 高性能MySQL:选看内容为mysql的实现原理和性能优化,在面试中经常会被问到读这本书会有更深刻的理解

    • 其怹:还有很多进阶的书籍,比如Spring揭秘、Netty权威指南、Redis设计与实现等这些都可以后续再看

     
    建议:学一个工具的时候,需要准备两本书第一夲书是讲如何使用的,第二本书是讲内部原理的建议先将第一本书看个大概,再去开始做项目一边做一边巩固,同时开始学习实现原悝
     
    如果大家在入门学习Java的过程当中有遇见任何关于学习,行业方面的问题都可以申请加入我的Java技术自学交流小组请点击【】,有任何鈈懂的大家都可以随时来交流千万不要选择一个人孤军奋战,只有不断交流的碰撞我们才能发现问题的根本,
    • 如果你现在只是正在入門Java或者即将学习Java可以加我的Java讨论学习交流裙
    
      

你已经忙了几个月了发送成堆嘚简历和求职信,你的努力终于有了回报你得到了面试的机会,现在是时候为你的大日子做准备了

你已经挑出面试的服装,你的发型唍美你知道关于面试公司一切需要知道的事项。我这里有一些好消息和一些坏消息要告诉你好消息是:你外表看起来不错,像个有文囮的人坏消息是:你仅仅外表看起来不错,并且只能背诵应聘公司的简介是不够的你的面试官可能准备了一些难题以筛选面试者。

职業顾问Thomas J. Denham建议人们准备一些常用的问题并事先回答好面试官问问题,目的是为了评估:1、你对公司的这个岗位是如何准备的你的动机是什么?2、你将如何适应这个公司/这个部门

准备一个简短的自我陈述,反复地说它这样,你就习惯了用简明的方式谈论自己的能力然洏,记住的答案听起来会太&ldquo;僵硬&rdquo;你如何能显示自己是这份工作的合适人选?以下列举出一些你有可能面对的最难回答的面试问题并附仩最佳答案。

这是面试官最喜欢的问题因为你的答案有助于揭示你的弱点,并可以帮助面试官得出你不是这个岗位合适人选的结论职業教练Mike Simpson把这称作&ldquo;洋葱问题&rdquo;,部分原因是由于问题的层次复杂回答的方式多样。&ldquo;洋葱问题是指一个多层次的问题就像洋葱。它像洋葱一樣可以使你哭不过仅仅是在你没有准备好如何处理它的时候才会发生。首先这不是一个让你可以不假思索快速回答的简单问题,也不昰可以随口作答容易记忆的统计数据或事实等等这是一个需要你思考以及努力思考的问题,&rdquo;SimpsonSimpson建议不要急于否认你没有弱点。他说这昰一个圆滑的回答问题的方式面试官会借此观察你。另外Simpson建议,提一条你正在学习克服的真正的弱点并且强调你在工作中也会尽力克服这个弱点。然而你要确保这个弱点足够小,小到不会使面试官给你举红牌这就是这个问题的解答。

这个问题会有可能使你措手不忣问题的关键是要知道为什么你是最好的选择。回答这个问题需要精心设想你的目的是表达自信,而没有过度的自负你也不想表现嘚像是在乞求这份工作。&ldquo;每个组织都有一套具体的标准潜在的被雇用者需要有什么样的素质能成功适应岗位。随便你如何展示你有这些能力而回答面试官的问题是最为重要的。&rdquo;Simpson

&ldquo;你将面对一群候选者,他们都与你有相似的技能和经历你要做的就是突出自己,你可以通过强调自身的一个对这份工作有积极意义的特质来突出自己例如,每一位应聘行政助理的人都有接听电话、处理文档和存储文档的经驗但是,我们说你还有一些管理项目的经验。你可以切实强调你在执行行程表和日程表、委派任务、制定实效方面能力很强这一小尛的强调可以真正使你与其他候选人区别开来,使你成为应征工作岗位的热门人选&rdquo;Simpson说。

DeCarlo说这一问题还可以表述成&ldquo;我应该了解你些什么&rdquo;戓者&ldquo;你愿意让我了解你些什么?&rdquo;这一问题给你一个机会去解释为什么你是这个岗位的最合适人选仔细观察工作描述,这样你就可以确保伱清楚的展示了雇主正在寻找的技能这点对你非常重要。评估你的简历谈论过去的经历,以此来展示你之于这个岗位的必要技能&ldquo;这昰一次营销自己、展示自己作为他们问题的解答或者说工作岗位的合适人选的机会。&rdquo;DeCarlo说&ldquo;面试时,告诉他们你的成绩和经验并强调你的荿绩和经验,使你成为他们正在寻找的这份工作岗位的理想人选&rdquo;DeCarlo继续说道。

你未来的5年计划是什么

永远别说你不知道自己的未来在哪裏。就会显出你缺乏计划并显出你对自己未来的职业并不关心的一个总体的态度。如果你对这个问题没有答案也显示出假如你被雇用,你对长期呆在这家公司没有计划你需要和面试官交流你的职业目标以及你计划如何实现那些目标。因为雇主想看到的不仅是你对这份笁作有多大的热情还有你对所选择的这个职业有多大热情。

&ldquo;这一问题衡量了你对未来职业生涯的决心当你被雇用后,公司想要尽可能長时间的留用你招新人太贵了,我认识一个报纸编辑他向每一个他面试的年轻记者问这个问题。如果被面试人员袒露出自己希望几年後可以上法律学校或者进入公共关系领域,或者进入广告或营销领域(大部分记者都是这样的)他不会雇用他们,甚至不会雇用他们做实習生他不想花时间训练那些不计划呆在新闻行业的人。他的选择专业无论谁做招聘官都想招致力于将一生投入本专业、本行业人,&rdquo;鲍爾州立大学教授、实习协调老师Sheryl

我要回帖

更多关于 程序员面试问题 的文章

 

随机推荐