当时我去面试当时就有结果吗的时候,不是他,这句话是不是也带有两种意思,一个指的我,或者是主管

我是来自王朴中学的高2017级蒲##高Φ还未毕业,想挂学籍在外面学一门技术在北碚竟发尚好妆化妆品店于2017年1月15日去面试当时就有结果吗,最先是一个叫燕姐的人他喊我找她,他说我15日当日就可以工作我先去与家人确定后,在问他可以年后上班不他说不行,因为到时候人都招齐了我就是因为这个原洇,才当天上班的但是在上班这11天之内 我从未见过新招来的一个员工,这算不算构成一种欺骗我今年17岁,在那里上班他没给过我正式的合同签约这些让我没得安全感,没有保障他店前张贴工资是2000底薪加补贴价提成 管理人员燕姐说我们一个月是26天工作,4天休假若按照法律规定试用期工资不得低于最低工资的百分之80来算向先生也就是尚好妆化妆品店的老板,每天给我20块人民币合理么试用期当时应为開先口头承诺说做长期工是因为信任老板,觉得他是一个正直的人没想到结果是我看错了,但是后来因为老板拖欠员工工资拖欠电费讓我觉得他信誉度低,委婉更他辞职应为开先说试用期为7天,我又更老板说做长期工所以在喊他把后四天全算试用期工资,11天全算试鼡期工资我也认了因为我不想废在这样一个老板身上,早退早好本这样一个原则我向他辞职,他以每天20元来算我觉得不合理,上班時间为上午8点40到下午7点我都是按照老班规矩做事,劳动而220工资11天对我不合理,更是对我人格的侮辱我想请问律师,这样没得合同嘚雇人关系怎样处理,对于我一个未有18岁的人来算 他这样的试用工资合理么未有合同合法么?我希望得到律师的帮助谢谢!

两年前当我即将毕业时,我迎來了设计专业学生的头等大事:作品集审核以及找工作虽然我当时正在攻读平面设计,但我心里却一直向往一份全职的UX/UI设计师的工作

朂终,功夫不负有心人我找到了一份在Bloc公司的工作,并开始了一段奇幻的旅程但不得不说,准备作品集和找工作是一段「痛苦」的过程我收到过许多拒信,也犯过很多错误现在,我正在建立一个每天都出产UX设计师的公司我也是时候回顾一下准备作品集的经历,并將我的专递下去你将读到的是我曾经的成功心得和经验。我敢说这是你绝对不想错过的8个建议

1.用案例来展示你的作品

让你的作品集充滿案例吧。当我在学校里申请工作时我在作品集里放入了清晰且漂亮的视觉设计。然而申请UX/UI职位时我却处处碰壁。我问自己「这是為什么?我做错了什么?」

我向朋友求助,她转发给了我几位申请到理想工作的设计师的作品集我惊奇的发现,这些作品集里都是一个个案唎组成的无一例外。案例中包含了设计过程的记录、其中的成功和失败以及最终方案的完整展示

为什么我不能用案例来展示作品呢?

之後我开始在作品集中放入案例,这使我获得了很大的成功我投递作品集的回复率显著的提高了。虽然清晰漂亮的图像很吸引眼球但它們并不能告诉招聘官你有解决问题的能力。比如:

你能设计出让用户、客户和其他涉众都满意的解决方案吗?

你能清晰的介绍整个过程吗?

你嘚尝试你的成功以及成功背后的原因?

你能展示包括模型、线框图、关键界面在内的体现缜密问题解决能力的工作过程吗?

告诉招聘官你能解决问题,这就等于告诉他你是值得聘用的

2.仔细策划你的作品集

作品集应该有侧重还是应该均衡地展示?这可是个难题。一些导师建议尽量让作品集多元化展示各种各样的作品,例如包装、印刷、广告和网页也有人鼓励选择侧重专项。如果你喜欢app如果你以后想创作app,那么就让app作品填满作品集

如果你还在自己的职业方向,也并不清楚自己想做什么那我建议你尽量展示你作品的广度。然而如果你清楚自己的发展方向,那么就用大部分的作品集来尽情体现你作品的深度吧

当我开始尝试找工作时,我想做UI设计我也申请了许多UI相关的職位。我的作品集中全是网页和UI设计实际上,在三年的学习生涯中我有将近一半的作品是印刷品设计然而我没有展示这些作品,因为峩不想在相关的领域工作最终,我得到了UI设计的工作

3.即使不完美,也要求真实

在学校时我曾经有一份很棒的实习。我设计出了很漂煷的作品整个项目团队也为之兴奋不已。这使我自信满满的离开了实习岗位但也正因为我的设计和其他一些问题,项目团队很快便解散了!这是个尴尬的情况明明看起来很好的设计作品,最终却失败了我该把这个项目放入作品集吗?我该向我未来的雇主展示这个项目吗?朂后我将这个项目放入了作品集。

不出所料在面试当时就有结果吗时讲这样一个失败的项目是尴尬的。但能够诚实的面对失败其实是一件好事我讲到了项目的不足,展现了自己不懈的努力和也提及了从中得到的收获最终面试当时就有结果吗是成功的。

在一个设计师面試当时就有结果吗你的时候他们并不能了解与你共事的真正感觉。所以退而求其次去展示过去你和他人的合作。这样真实的职场经历鈳以体现你的协作意识以及你应对时限和各种制约的能力即便项目的结果不好,能够讲出来就是突破无需对自己并不完美的作品感到慚愧,正视自己的不足才是明智的

4.少一些设计练习,多一些深度案例

作品集1:字体、虚构产品的广告、Reddit改良设计

作品集2:虚构产品的广告、Facebook改良设计、剧院海报

作品集3:Craiglist改良设计虚构的app,虚构的宣传广告

招聘者浏览过数以千计诸如此类的作品集你的学校作业会被轻易哋认出来。大学一年级的字体海报作业可能看起来很棒但它们最多能证明你可以回答一个命题,而并不能证明你有独立工作的能力更鈈能证明你能解决问题。如果你决定要将设计练习放入作品集那就确保它有缜密的解决问题的过程。并且你应该将其当作一个案例来深喥剖析

本文链接: (转载请保留)

写了个显眼的标题就真得说几呴有用的话。

5月份一个很偶然的机会加了叶神的微信,还收到了祝福一激动就承诺说写篇最详细的面经分享给大家,毕竟用了叶神的犇客网这么久收获真的很大。

校招真的是段劳心伤神的经历我把这一路的体会,写在秋招前也许能给那些和我一样迷茫过,怀疑过失落过的人一些帮助。

(这篇文章有点长可能需要点耐心)

首先呢我的面试当时就有结果吗经历和一些面霸和收割机的大神相比绝不算丰富,但我这三个月应该能代表很大一部分人的心路历程:
从无忧无虑也无知的状态然后遭遇挫败,跌入低谷连续数天的黑暗,慢慢调整逼着自己不能松懈,看到改变收获肯定,分享经历

先大概说下自己的面试当时就有结果吗经历吧(详细的面试当时就有结果嗎过程和面试当时就有结果吗题解析在最后)

  1. 笔试就挂了的:网易、头条。(对于笔试这个东西我到现在都没太多经验)

网易是第一家參加笔试的面试当时就有结果吗会报销费用去总部,所以还是有难度这个公司呢,内推不内推都要参加笔试所以笔试要好好准备(當然笔试也不好准备)

头条只有四道编程题,一个人做确实难度挺大的尤其是工程为主,不太专搞算法的同学

  1. 笔试过了但因为时间地點原因没去面试当时就有结果吗的:京东、小米、去哪、携程、招银。

这几个公司面试当时就有结果吗一定要现场很多都要求去总部,還不报销路费所以在遇到这种情况时,大家要有选择的安排毕竟时间和精力都是有限的。

  • 阿里(电话2面很轻松地就挂了)
  • 腾讯(现場2面,很久之后hr电话说要转C++就只能算了)
  • 百度(电话2面+经理面,offer)
  • 滴滴(视频2面+现场终面offer)
  • 美团(电话2面+hr面,offer)

阿里呢大家都知道,恨不得把全国学生都面一个遍对于这种策略我只想说三个字,晚点投(下面会解释)

腾讯的面试当时就有结果吗体验还是很好的,會在酒店的房间里安静舒适。只是java的同学可能要被问到很多C++和网络的知识建议还是提前准备一下。

百度内推都是电话面会在某网站實时写代码,感觉百度的面试当时就有结果吗官都很不错给我的体验也很好。内推的时候最好注意下部门在一个好的部门和边缘部门還是差别很大的。

滴滴面试当时就有结果吗比较晚外地可以先视频面,最后会有现场面报销花费。工作体验很不错内部氛围很好,洇为成立时间短业务扩展太快技术方面正在沉淀期,工作还是比较有挑战性的

360要先笔试,然后可以视频面试当时就有结果吗这个公司比较稳定,业务也都很成型实习的话留用率还是比较高的。

美团的话印象比较深因为我是二月底内推的美团,然后内推没面我三朤正常笔试通过,然后待面试当时就有结果吗两个多月。估计是补招了才给我打的电话(我都已经准备入职了)经验就是一定要选一個事业群,最开始选都喜欢的大多是以为这样机会多相反这样很多部门由于自己的简历池太满而顾不上捞你。

4.还有一投简历就沉的外企:Amazon、FreeWheel(不知道是他们只收北京生源还是我英文简历写的太烂了)

文章最后的面经当然只包括第三种因为笔试这东西真的不好讲,杂七杂仈什么题都有编程题大多人也要看发挥。

然后这是我最直观的感受:

其实每个阶段的改变也都是心态转变的过程,所以首先要说的一點就是心态。在上面这种公式里心态作为一个因子存在。没错心态可以影响你面试当时就有结果吗的准备,笔试的状态实力的发揮,可以影响一个面试当时就有结果吗过程的方方面面。心态崩了就只剩运气了,offer估计也就走远了

那怎么调整自己的心态呢?

  • 首先是要囸视自己的能力不轻视,不高估

不轻视指的是我们都要对自己有信心,毕竟选了这个行业和方向说句不好听的话,机会那么多就算你不怎么努力也会有个差不多的offer不是么?千千万万的初中创公司各种拥有垂直领域稳定份额的二三线公司甚至有些已经上市,除此之外还有银行投资,金融的IT岗还有各行各业为了互联网+的策略而扩展的互联网分支(当然像链家这种已经算互联网+传统行业的典范了,峩前些天还瞅到了像万达德勤一类的各行业巨头也在招程序开发...)所以啊要对自己有信心,在这个行业十分缺人的年代里(当然各个层佽的公司缺人的标准是不一样的)总不至于会失业吧。

不高估就是要清楚自己的能力范围不是说期望过高不好,但过高的期望会让你嘚心理变得脆弱稍有不顺心态就有崩掉的趋势。因为面试当时就有结果吗毕竟有太大的偶然性就算你达到了一定的水平,相应水平的崗位也不是百发百中的更不要说身边有那么多大神和收割机,天天拿offer拒offer对心理都是不小的冲击。

  • 不要总给自己消极的暗示心态差了積极调整。

大多数的人总暗示自己说什么时间不多了,怎么每天过这么快效率怎么这么低到笔试了,跟自己说这个算法太难了肯定莋不出来;临到面试当时就有结果吗了,跟自己说千万别问我linux内核别问我分布式,问我肯定完;面试当时就有结果吗过之后没有结果,就天天想肯定又挂了唉我怎么这么菜。

如果这一系列的表现形成习惯那心态这个系数最多0.5,能发挥出来的东西也都打了一半的折扣凡事都不要太悲观,一个offer没拿到正常情况是这个失败的经历产生的经验和总结是会让下一次的成功率提高的,千万别因为这些消极的暗示反而让该有的提高都没有了。

心态差的时候反而要停下你重复而没有效率的工作去调整一下,可以出去玩一玩吃吃喝喝,不要紦这几个月看得有多么不一样好像耽搁两小时就要来生再见一样。

  • 对于身边的同学多交流,不比较

有一些一起准备的好伙伴是件非瑺好的事情,不仅可以互相督促而且可以在交流和分享的过程中取长补短。(哪怕是偶尔一起吐吐槽发泄一下也比一个人崩溃要好得多)但对于每一次面试当时就有结果吗,只跟自己比就行了面试当时就有结果吗的整个过程都是最怕比较的,偶然性大而且每个人适匼的方向和技术栈都不一样,结果不能说明一切问题如果身边有些收割机,那更不要太在意这些天天拿offer的(尤其是拿一个就跑过来讲一呴的他们也许没有恶意,但他们可能真的想不到这种方式会对别人产生怎样的冲击)

对自己的水平有个很清楚的认识,并选择自己合適的公司好好准备自己的笔试、面试当时就有结果吗,不怕失败但保证每次面试当时就有结果吗都有收获和提高,那满意的offer早晚会来

这里说的实力指的是硬实力,也就是技术上的真实积累(当然产品岗的就是对于产品相关知识的积累)而其实呢软实力在面试当时就囿结果吗过程中也尤为重要(有时候真的要更重要),主要是指和面试当时就有结果吗官的沟通对一个问题的阐述方式和表达方式,逻輯思维能力以及的价值观和为人等

然后关于这个软实力我想放到下面的技巧中去说。

如果你平时有些项目积累不擅长也从来没有怎么系统地总结过;如果你学习呢不算那么认真刻苦,研究搞得也不算出众但是你该努力的时候也会努力,可以为了一个好的工作逼自己一紦

那也许下面说的实力和技巧都可以在一定程度上帮到你。(因为我就是这样的情况)

这么说是因为很多人其实在这些年的项目或是学習中有一些积累但是在刚开始面试当时就有结果吗的时候完全感觉使不出力,就是有种你问的我都能讲上一点但根本说不清楚的感觉。(往深了问自然是完蛋)

知识面或者或者说技术栈都是有宽度和深度的我们要做的就是在短时间内提升宽度,抓住以往本身就熟悉或昰感兴趣的几个点去深入

我是认为知识的宽度可以很大程度上决定你能不能通过面试当时就有结果吗(这里说的宽度并不是简历上了解、知道或者你都没往简历上写,仅仅是听说过的层面修饰的方面而是写熟悉的那种,通俗地说是可以讲清原理不涉及横向对比和优化嘚方面)

一两个点的深度呢在保证你能通过面试当时就有结果吗的同时(尤其是你的点正好cover了对方部门的技术栈),并且还是影响offer等级的關键因素(达到足够的深度,不只能说出原理还能进行横向技术对比,纵向的延伸技术优劣点及优化,或者在这个点写了几篇很透徹的博文更厉害的同学甚至有相关的开源项目的参与与贡献)

关于怎么提升宽度和深度可以看下面的积累(其实说真的短期内宽度是好補的,深度确实要看个人是代价较高,性价比不一定高的一方面看自己的决定吧)

所以我的建议是,先把宽度提上来把你能cover的知识點及原理搞懂是第一步。建议对自己之前的项目和技术积累做一个总结和分类(可以参考下面的技术路线)然后对已经了解的方面尽可能延伸,对盲区或是薄弱的地方进行针对性的学习和练习

当你的知识面覆盖到一定程度的时候,你自然会把他们的联系搞明白慢慢理解这整个技术体系,在面试当时就有结果吗的过程中结合表达技巧可以关联起来说各个方面也就可以很大程度上展现自己的真实实力(哽厉害的同学甚至可以有超出自己真实实力的表现。)

(我也只是脑子里过了一遍,肯定有遗漏的大家自己补全就行了,毕竟每个人嘚知识覆盖范围也不同)

      1. 数组、链表、二叉树、队列、栈的各种操作(性能场景)
      2. 二分查找和各种变种的二分查找
      3. 各类排序算法以及复雜度分析(快排、归并、堆
      4. 理解并可以分析时间和空间复杂度。
      5. 动态规划(笔试回回有。)、贪心
      6. 图算法(比较少,也就两个最短蕗径算法理解吧)
        • 拥塞控制(过程、阈值)
        • 子网划分(一般只有笔试有)
        • 三者原理各个语言是怎么实现的
      1. 索引(包括分类及优化方式,夨效条件底层结构)
      2. 数据库的锁(行锁,表锁页级锁,意向锁读锁,写锁悲观锁,乐观锁以及加锁的select sql方式)
      3. 隔离级别,依次解決的问题(脏读、不可重复读、幻读)
      4. 分库分表主从复制,读写分离
      1. 进程通信IPC(几种方式),与线程区别
      2. OS的几种策略(页面置换进程调度等,每个里面有几种算法)
      3. linux常用命令(问的时候都会给具体某一个场景)
    1. 编程语言(这里只说Java):
      1. 把我之后的面经过一遍Java感觉覆蓋的就差不多了,不过下面还是分个类
      2. Java基础(面向对象、四个特性、重载重写、static和final等等很多东西)
    2. JVM(内存模型、GC垃圾回收,包括分代GC算法,收集器、类加载和双亲委派、JVM调优内存泄漏和内存溢出)
    3. 反射和代理、异常、Java8相关、序列化
    4. 设计模式(常用的,jdk中有的)
  • 这个每個人的项目不同覆盖的技术也不一样,所以不能统一去说
  • 这里的技巧呢,在下面也会详细说明
  • 无非是找到自己项目中的亮点,简历仩叙述的简练并且吸引眼球同时自己要很熟悉这个点(毕竟可以提前准备)
  • 最好自己多练,就像有个剧本或者稿子一样保证面试当时僦有结果吗中可以很熟练通俗地讲出,并且让人听着很舒服
  • 这个很抱歉,因为我是找实习的经历所以也没有实习经历的讲述经验。
  • 但峩想如果你有实习经历那面试当时就有结果吗过程的重点也会在实习做了什么上面,所以大家最好对实习所做的工作做一个总结并且哃样抓出亮点,搞懂内部原理提前锻炼讲述的过程。
  • 其他扩展技能(这个方方面面太多了全部掌握基本上不可能,只是作为大家其他時间扩充技能的参考)
    • 分布式架构:(了解原理就行如果真的有实践经验更好)
  • 负载均衡(原理、cdn、一致性hash)
  • RPC框架(包括整体的一些框架理论,通信的netty序列化协议thrift,protobuff等)
  • 分布式事务、分布式锁等
  • 脚本语言:(只是作为横向扩充一般问到linux也会问问shell脚本)
  • 模型和算法很多。不细说了如果很熟练就去投算法,国内很多公司都算法岗都很稀缺其他岗可以大概了解下理论。
  • 其他工具的理论和使用:
    • 这个更多叻问的多的比如git、docker、maven/gradle、Jenkins等等,自己需要的话选择性地去学

积累实力最好的方式就是平时在项目中或是学习中,多学多问多思考多钻研。这里就说说短期内学习的一些方法和路径:

总结下来一方面是通过看书、看视频、看面经来不断扩展自己的知识面,一方面是通过鈈断的面试当时就有结果吗积累经验和知识盲区在每次总结的过程中积累实力。

这里应该是有个推荐书籍的环节这几个月确实看了不尐书,但是并不是所有都有很高的性价比在这边大概列一下,前后顺序也一定程度上代表了我认为的重要度先后'/'做分割的是一类的书籍,一般来说看一个就够了:

数据结构(严蔚敏)/大话数据结构 //如果觉得教材无聊就可以看大话系列印象中里面还有很多诗 剑指Offer/程序员媔试当时就有结果吗金典/编程珠玑/编程之美/牛客网+leetcode 程序员笔试面试当时就有结果吗最优解(左程云)/不如直接看左神的笔试面试当时就有結果吗指南视频 Java的版本(不是很推荐): 数据结构与算法经典问题解析(Java语言描述) 图解数据结构(使用Java) 数据库://数据库主要是多用,書上主要看索引和性能的部分 OS原理:操作系统(课本黑色的那个) Linux私房菜 //鸟哥写的,很全包括bash部分 跟阿铭学Linux //主要偏重于命令和操作,仳较浅显 深入理解Java虚拟机 并发编程的艺术/多线程编程核心技术 Java程序员面试当时就有结果吗笔试宝典 //何昊的那本个人感觉是突击知识点的鉮器 实战Java高并发程序设计 Spring实战/轻量级JavaEE 企业应用(红皮,讲SSH的) //主要看最后一部分Spring的就可以 深入JavaWeb技术内幕(阿里 许令波)//这个讲的还是比较罙的 大话设计模式 //通俗易懂 分布式服务框架原理与实践 //还有一本我暂时想不起来名字了 Git官方讲解视频(牛客网有带字幕的) 还买了docker、springCloud等等┅些工具书因为太小众就不列举了

除了上面说的书和视频,最有用的还是大家分享的各种面经

面经是个很不错的东西(嗯,想看的可鉯直接翻到最后一节)记住不要一扫而过(除了那种岗位不太匹配可以快速抓重点看),岗位匹配的你可以顺着面经逐条去看模拟一佽面试当时就有结果吗过程(虽然是单向的,但是你心里应该是知道每个问题你能答道什么层次)这种不断地模拟可以让你知道盲点或鍺说弱点在哪,对于一个你心里没底或者想不太起来的问题一定要当时记下来或者当时就弄懂

我当时是每天晚上在床上看几篇面经,然後把存疑的问题copy到记事本中第二天找个固定的时间短查询解决和总结。长期下来会养成一个很好的习惯你的知识点会不断地扩充。

这┅点其实跟刚刚看面经的那个很类似(那个我不是叫做模拟面试当时就有结果吗了吗)每次面试当时就有结果吗完,一定要把自己不会嘚东西尽快记下来(当然你如果有记面经的习惯就更好了还能再分享出去),然后找时间弄懂和总结

除了知识点,每次面试当时就有結果吗(跟模拟面试当时就有结果吗不同的地方)还要总结的是哪里发挥得不好哪里有可以提升的地方,下次一定要注意之类的(就昰有关面试当时就有结果吗技巧的东西,比如这次语速太快导致面试当时就有结果吗官反馈了,又比如这次发现对方让你在纸上画个项目逻辑图突然一时脑梗那回去就好好在本上画一遍)

软实力这个东西与面试当时就有结果吗的准备关系不大,基本上是长期形成的

包括和面试当时就有结果吗官的沟通(有的时候也会成为聊天瞎扯的能力);对一个问题的表达方式,逻辑思维(像有些人的发言就让人听仩去很有层次感很舒服,这方面欠缺的可以推荐玩玩狼人杀);除此之外对方也会很在意你的价值观和为人(这个是我进了公司发现的很多公司在内部的面试当时就有结果吗细则上面都会注明这一点,如果价值观或是人品问题会直接否决)想想也是有道理的,因为这個是入职之后能不能好好相处的关键设想如果你是一个面试当时就有结果吗官,面对一个有实力但是说话太有棱角聊不太来的和一个不算出众但基础不错很听话可以培养的你会选哪一个?(如果你因为生活太平淡了想选第一个那这一条当我没说。)

这些软实力其实偠在生活中慢慢锻炼,比如多参加些活动多和别人沟通,发表意见前好好组织自己的语言等等(每个人都有每个人的性格,这些都因囚而异但有一点我们要记住的是在面试当时就有结果吗中,不论什么情况都要保持冷静和清晰的头脑,和一个谦卑的态度交流要坦誠<尤其作为应届生>,这样起码印象会好很多,要知道虽然面试当时就有结果吗有各种各样花式的打分项但是印象好往往是隐藏的决定性因素)

面试当时就有结果吗的技巧首先就是刚刚说到的态度。 一个谦卑(注意不是自卑也不是把自己放的很低的样子)和礼貌的态度和表達方式往往可以让面试当时就有结果吗官的印象分提高很多,印象分很像之后要考察的实力分的系数留个好印象,面试当时就有结果吗僦成功了一半(当然你一定也听过那种聊得很嗨,或者偶遇校友之类的毛都没问就聊通过了的场景。这种情况还是不算在技巧中了吧应该属于运气和缘分的范畴。而大多时候聊得开心和舒服会让你感觉到通过率会比较高这一点很多人还是深有体会的)

  • 然后说一下面試当时就有结果吗之前可以做足的准备。

首先从简历开始说简历怎么调格式,做几页排版啥的就不想多说了,感觉很多文章都分享过我只说说技术方面的内容怎么写。

专业技能的描述谓词无非就那么几种:精通、熟练、熟悉、了解(还有一级叫听说过,这个级别的鈳千万别往上写啊兄弟)

精通感觉一般还是不要写除非你在某个技术点上真的有足够的把握,比如源码看的很透彻的同时还能深刻理解原理并能灵活处理各种case场景如果还有相关的开源贡献,那就自信地写精通吧

我们把自己掌握的大多数技术点叫做熟练掌握,这个需要峩们在之前对各个技术点进行横向纵向的复习和总结并不只是用的多有经验就行,有的时候我们觉得熟但真让你说的时候却不知道从哬说起。

至于熟悉和了解可以写一些自己理解原理但是不常用的技术点,尤其是比较流行的各大公司都在用的技术(比如MQ,分布式缓存等等)这些你在学校不一定用过,但是你可以通过看博客写demo去理解他的设计和原理,面试当时就有结果吗的时候可以讲得清楚

这裏还有个技巧,更细心的同学可以针对每个公司岗位的job detail不同熟悉和了解这块就针对jd中cover的技术点去写。这个做法是很聪明的毕竟熟悉和叻解这个层面是可以提前学习和准备的,有针对性的去写对方需要的是提升通过率很好的一种方式。(如果嫌麻烦就算了比如我就是)

下面再说说项目经历这块:叙述一定要精炼到位,细化到每一个亮点上我现在再看我二三月份的简历简直是有种想撕了的冲动,当时僦是项目描述两三行然后概括下我大概做了哪几个模块。完了
事实上,不能讲得这么泛泛就从中找2-3个亮点,一句话高度概括突出煷点。

比如后来我就把我一个普通的web项目挖出来三个点(爬虫通信控制方面,安全加密方面)分别用一句话叙述,这一句话最好包括這个技术点的思路解决了什么,有没有做什么优化比如一个爬虫工具可以写成这样:

我负责这个系统中爬虫的开发,终端控制管理店铺管理。。

是的,上面这个爬虫就占用了五个字等于没说,面试当时就有结果吗官看到压根不知道怎么去问这里还可以这样写:

负责系统中爬虫模块的开发,用于爬取影片的各种信息包括年份,介绍主演信息等。

这个起码告诉面试当时就有结果吗官爬虫做了什么但是你并不能保证他会问,因为你的叙述不一定能引起他的兴趣那还可以这么写:

独立开发多线程影片信息爬虫工具, 并针对线程池性能、网络异常以及反爬虫措施进行多次优化容错性良好并达到并发请求30+的QPS。

你觉得面试当时就有结果吗官看到这句话他不想问點什么吗(除非他真的就不想要你)。

所以说其实面试当时就有结果吗官呢都是希望在面试当时就有结果吗的过程中发现我们的亮点和優势,从而展开更深层次的交流但是往往在简历中没有一个让他询问的入口,这样就可能导致他会随意问(比如你了解什么什么吗一般情况下都不太乐观),或者就说那你来讲讲吧(这种问法其实已经表达出他不知道怎么问的情况了你在讲的时候一定要突出重点,否則会让人感觉没什么亮点普普通通的项目而已(当然就算是普通的项目,我们也要挖掘它的价值和自己的价值不是))

我们在面试当时僦有结果吗的过程中最重要的是自己掌握主动权如果面试当时就有结果吗官问的都是我们熟悉的范围和准备过的领域那我们答起来也会哽加得心应手。而让面试当时就有结果吗官随着我们简历中埋下的这些亮点(他就算知道你有意想说这一点往往也会去问,因为他就是想在短时间的面试当时就有结果吗中了解你处理问题的能力)去进行更深层次的交流,而这个更深层次的交流还需要我们针对简历上嘚每一句话,都准备多个层次和维度的扩展

比如还是这个爬虫,你可以充分扩展线程池的相关优化(有可能项目中没有怎么优化甚至就昰个单线程但是在准备面试当时就有结果吗的过程中还是可以专门去做一些code重构的),优化网络的NIO相关扩展以及反爬虫的各种各样的措施,以及爬虫方分别如何应对这里只要你去想,能准备的东西太多了面试当时就有结果吗多了自然也就越来越熟,好像项目就是做嘚这么完美一样

这里我就不怎么扩展去说了,再讲下去这篇文章就写不完了。

最后是面试当时就有结果吗中的技巧和经验。

  1. 好好对著自己写的简历一行一行看一遍这都是你挖的坑,是准备给面试当时就有结果吗官作为切入点交流的并不是自己往里跳的。(对每一荇都要有足够了解和把握)

  2. 面试当时就有结果吗过程不要紧张尤其是前几次,建议先从小公司入手锻炼下面试当时就有结果吗经验(参栲我之后自身的反面教材

  3. 面试当时就有结果吗方式不同侧重点不同(无非是电话、视频、现场三种)。

电话面试当时就有结果吗建议找個人少安静的地方坐着回答并且建议拿纸笔多做记录多画多写。(当然如果你觉得身边很多朋友可以让你越聊越嗨那也可以坐着是让伱整个节奏慢下来,说话明显更加沉稳亲身体会过站着走来走去和坐着的区别)

视频面试当时就有结果吗其实和电话类似,只是可以实時写代码面试当时就有结果吗官能看到你的表情。这里还是要放松如果你比较紧张,可以不直视镜头好好想问题就是了,因为很多媔试当时就有结果吗官你答得好也会面无表情(因为他们也不常视频表情都很尴尬),然后你看到他们没表情的表情肯定会受影响

现場面呢,最重要的是和面试当时就有结果吗官互动了说几个点:语气要轻松点,多点肢体动作有助表达多笑;不太好说清的就用笔在紙上画,一遍画一边讲面试当时就有结果吗官也会更容易和你交流;如果你可以时不时幽默一下开开玩笑是更好了;见面和离开记得礼貌地握个手说声谢谢。

  1. 学会平等交流别把自己身段放的太低。其实有一点你要清楚面试当时就有结果吗是个双选的过程,他可以拒绝伱你也可以拒绝他。千万不要太上赶着反而会影响自己正常的表达和逻辑。(就跟你见了喜欢的姑娘就不会说话了一个道理)

  2. 回答问題的时候不要一口气把知道的全部说完然后还毫无条理。学会一个知识点由浅入深讲解给面试当时就有结果吗官并且留有余地给他进┅步去问。

就说最简单和普遍的HashMap让你讲讲,你就可以先说说hashMap的设计原理底层结构(链表+数组)扩容方式等,从这你就可以说说这种设計好在哪里(比如讲一讲put是如何做hash的)这时候你可以说这种hash可能会有冲突,hashMap也是做了相应设计的

然后面试当时就有结果吗官会问题你怎么解决冲突?你可以再给他讲讲解决hash冲突的三种通常方式而hashMap用的是链式法,然后可以说到这样会有隐患就是hash链过长

面试当时就有结果吗官再问,你会给他讲解决复杂度高的长链用了红黑树的结构这里还可以延伸到红黑树的特点或者jdk7和jdk8的不同实现,这时候你可以说解決hash冲突但hashMap还会有并发和同步的问题。

面试当时就有结果吗官会让你再讲讲你可以说说hashtable是线程安全的,怎么实现的(sync函数)并不好,從而引出更好的juc包说说concurrentHashMap,之后又可以说道锁分段原理弱一致性迭代器,concurrentHashMap的锁粒度(java7和java8不同)同包的CopyOnWriteArray等等。

你还可以延伸说到锁(重量、轻量、悲观乐观各自实现、底层源码等等)、缓存(因为很多时候Map的结构可以作为缓存从而可以说到缓存系统的设计,kv原理分布式缓存redis、memcashed等等)

举这个例子就是想说,一个简单的基础问题可以一步一步有条理有层次的回答每一层表达完抛个引子,让面试当时就有結果吗官可以继续问下去从而让面试当时就有结果吗官真正了解你的掌握的深度。

  1. 如果真的不巧聊到不擅长的地方学会转移话题,从┅个点中聊自己感兴趣或是有把握的方面(比如你对消息队列不太熟但是redis用的熟你就可以在问到消息队列的时候说,因为之前都是自己莋的项目嘛性能方面没有考虑到最优,一些异步的方式还是靠redis list去实现的虽然redis的消息机制并不常见,但当时还是满足了需求之后可以栲虑性能方面的提升和技术评估;又比如问你http请求细节,rest的设计实现细节你可以说http restapi服务接口性能的一些不足,后来使用了rpc的方式当然伱这么说一定是要对rpc很了解)其实有的时候面试当时就有结果吗官是知道你是有意转移的,但是往往他们也不会抓着你不会的去问非让伱自己承认自己的盲区,他们也许根本不在意这些

  2. 如果真的被问到不会的,就直接说你不会(说你不会、说你不会我再补充两遍),戓者礼貌地说这方面可能我还要多学习(对一个拿不准的问题千万不要猜,即使是二选一的那种问题猜错了直接完蛋,猜对了被人看絀来再往深问还是完蛋)另外,像可能大概是,我觉得这种表达最好不要一听就是对一个点没把握,有可能会让面试当时就有结果嗎官觉得学习太浮躁不喜欢寻求原理
    那对于自己知道原理(确实是理解了的)但是没用过的东西,就讲讲原理并承认自己实践不足,表现出好学的态度面试当时就有结果吗一定要真诚。

  3. 问到有什么offer就直接说不要藏着掖着,也不要把更好的offer(比如bat的)讲的非常诱人┅副bat我都拿到了的样子(面试当时就有结果吗官会心想,那你还来面试当时就有结果吗我们干什么)再强调面试当时就有结果吗过程一萣要真诚。除了直接说诚实点之外,也要真的做些思考:对方公司跟之前的offer比优势在哪比如平台更大?专业技能栈更match工作更有挑战仂?地点更合适有机会留用?随便一条符合的都可以讲出来起码让对方觉得你想来面是有原因的并且真的有可能加入。(如果你还提湔了解对方公司的文化可以讲出这个文化自己很认同那就更可以了)

关于这一点只有一句:平时多做好事,热爱生活

其实都知道面试當时就有结果吗要讲缘分,讲运气但人往往可以在很顺利地通过面试当时就有结果吗之后说句运气好运气好,却很难在努力准备却失败嘚经历之后保持平静

但不管能不能转运是不是本命年有没有缘分,努力和收获的关系总是多年不变的真理

所以,讲心态讲实力,讲方法足矣。



下面是面试当时就有结果吗的详细过程包含面经:

按时间顺序,详细叙述一下我面试当时就有结果吗的过程包括面经和惢态的转变:
(括号里是对问题的补充,如果感觉有知识点的盲区大家正好可以去深入学习一下。这里说一下我投的大多是Java研发岗所鉯其他语言的可以忽略java问题)

首先说一点,复习准备一定要早(当然这是说给19届师弟师妹们听的嗯你们看到这里已经可以开始复习了),有同学去年暑假剑指offer都刷了一遍然后我竟然今年3月才买这本书。还有同学前一年冬天就已经去实习了,这种机会也不错但寒假如果不实习的,一定要进入到学习状态我准备的就有点晚,寒假完全没看书真正开始准备,大概是2月中旬号玩了一晚上狼人杀之后

就昰那个时候发现校招就要开始了,然后开始慌了大概看了一周的书(基本上都是java基础),然后师兄说阿里内推了,心想赶紧投吧要不人家招够了就不招了(后来发现都5月6月了还在招。)然后就慌慌忙忙投了简历。

这里我要说一点最重要的事情: 一定不要在没有面试当时僦有结果吗经验的情况下先面大厂或者是你想去的公司。
我是3月1日下午三点半在阿里的官网完善的简历5点电话就过来了。作为一个java coder阿里是个很好的平台,(当然C++的岗可以好好准备腾讯)一定还是准备充分了再投,你先面的结果很可能是焦急地等一两个月然后被后来准备充分再来面试当时就有结果吗的人取代

两天各面了一面(投的蚂蚁金服,第一天面的就不太好第二天又把我捞起来面,并且面完感觉就走远了但当时却没有reject,这就导致之后一个月一直在流程中阿里其他事业部的师兄师姐没办法把我的简历提走,最终到要笔试了嘫后变成了rejected)

那个时候就是处于我所说的无知状态知识点掌握的不够牢,简历写的乱七八糟面试当时就有结果吗经验为零(这应该是峩上学以来的第一次面试当时就有结果吗),面试当时就有结果吗技巧就更不懂了

然后当时两次都感觉聊得很差(尤其是聊算法模型的時候都想自爆了),也根本没有记录面经的想法所以有些问题我都记不起来了,大概说一下吧

  • hashMap的扩容原理,初始有13个要怎么new?(达到叻负载因子直接手动>>1)
  • ConcurrentHashMap的size()怎么做的(并没有完全加锁,而是先乐观的认为不会有写通过modCount判断是否更改,这个我当时记不清就用了很多可能、大概、应该这种词事实证明直接说不清楚会更好)
  • Spring的AOP关于拦截private方法一些问题.(细节忘记了,当时答得也不好)
  • 项目中数据字典怎么做的緩存如何做的通信,有没有用什么模块(说了自己的做法,用的全局的HashMap然后他会延伸到高并发的场景,分布式缓存怎么做等等由於没实际操作经验提前也没准备,并且还没有直接说不会又是用很多模棱两可的语句答得)
  • 讲讲你的论文相关的模型吧(这个其实在简曆上根本没写,只是写了数学建模的奖然后面试当时就有结果吗官就开始问机器学习的算法,很多都是我没准备的并且我心想我投的吔不是算法岗啊。。所以说对于简历上的每一条一定要熟悉做足准备,并且遇到简历上没有都扯到的方面要想办法转移,不要在这耗着
  • 讲完算法的问题面试当时就有结果吗官很尴尬的说了句,你这自己的研究方向你都搞不清楚吗我当时预感就差不多走远了。。

其他问题真的太久远了我当时也没有记面经的习惯,所以就没有了但是最大的感受是面阿里的时候整个人都是紧张的状态,语速特別快恨不得把知道的都说出来,没有条理并且把自己姿态放得特别低,还在楼道不停走来走去(对,以上说的这几点全都是不应该嘚但主要原因还是当时准备太不充分,简历方面的准备以及知识点的积累都不够;另外一点还是要强调不会的就是不会,千万别说大概是我觉得吧这种东西,说的不好很容易让面试当时就有结果吗官认作不懂装懂虽然你只是很想向面试当时就有结果吗官表达点什么,哪怕只是积极的态度)

从阿里面完试开始我的心态基本上就崩掉了对自己极度怀疑,加上今年诸事不顺心情直接跌到了低谷。然后整个三月基本上都是黑暗的整个一个月都没再投内推,每天从早晨起来大多时间就在看书刷题,晚上十点回宿舍躺在床上还要刷两個小时牛客的面经。一个月下来很少说话提升肯定是有,但是这个过程其实完全可以用更好的心态去经历。

然后这段极其黑暗痛苦的ㄖ子持续到三月底一个师兄想帮我内推百度,因为之前因为没信心也错过了腾讯的内推就心想要不试一下吧。

  • 自我介绍印象最深最費心的项目(这个一套可以提前准备,在某些亮点可以估计抛出等面试当时就有结果吗官来问)
  • 讲讲项目中的爬虫和优化怎么做的为什麼选用jsoup而没有用python的urllib
  • 说说你了解的反爬虫措施,和针对异常的处理
  • 那你觉的你来做一个网站要从哪些方面考虑反爬虫。

这里可以提前和学習即使你真正使用的只是一点,也可以在相关问题上做更深的了解

最简单只分析请求,拦截所有非浏览器的直接请求(可以通过添加偽报头解决);查看refer页做防盗链接(可以改refer项);基于用户行为的策略同一ip相似请求判定(代理或ip池,或间隔请求解决);基于用户session的策畧(模拟多用户登录解决);封装前端数据用js渲染生成(通过探取和模拟异步ajax请求解决);对ajax请求进行加密等等方法。

  • 讲讲项目中怎么實现的充值锁的机制和事务注解,如何保证了事务的一致性
  • spring层面做事务和数据库层面做的区别,各自实现方式
  • 聊了事务的传播性和隔离级别,问了mysql的默认隔离级别(可重复读)
  • spring中事务传播性怎么配置(xml方式和注解方式还有关于savepoint的使用)
  • 算法:O(1)删除执行链表结点,做汾析(其实是要指出剑指offer中那个直接copy值的方法的缺陷和隐患)
  • 算法:二叉树的最长距离(递归的思想)
  • 聊项目(这次是针对项目中的加密算法和安全性做了阐述大概20分钟吧,之前爬虫那个例子已经说了项目亮点要怎么准备了这里我就不多说了)
  • 关于jdk代理和cglib第三方代理(說出对接口代理和子类继承的区别)
  • 用的什么数据库,Mysql
  • 最大的数据量多大,用了索引没有怎么用的(聊了前缀索引,对于varchar类型的值叒聊了聊char,varchartext,blob的关系和区别)
  • 为什么索引不能随便用,什么时候用(什么时候失效什么时候最高效)。
  • 如何达到索引开销和性能的岼衡用了一个表去举例。(方法就是根据情境看经常做的查询是哪些,然后依次是什么查询条件保证最高效索引的同时,也保证索引不失效避免无效开销,并且根据show profile和explain功能进行对比分析)
  • 数据库用了缓存没有讲讲redis的理解(用作缓存,队列也可做存储)。
  • redis是单线程还是多线程的举个例子(做计数器,rank排行榜)
  • 讲讲hbase的原理CloumnFamily包含哪些,region什么情况做分割对于版本号这个第四维度的使用方式(一般默认三个版本)等等
  • 让我等消息,说经理会联系我
  • 经理面其实更加放松,不只是技术方面还有生活,性格多方面感觉是个技术+hr的综匼面。
  • 聊家庭家乡,工作意愿爱好等等(聊了十几分钟,感觉都很不错然后之后的面试当时就有结果吗也就很轻松了,基本是我在講他在听)
  • 讲了讲项目的设计包括异常的处理,数据库设计通信模型的设计。
  • 讲讲你理解的JVM吧(从内存划分说到了GC算法、分代思想CMS囷G1 collector,到类加载模型tomcat的非双亲委派、线程上下文加载器,到JVM调优的策略gc参数设置策略,如何找死锁读快照,发现内存泄漏等等吧)
  • 然後说了下部门的技术栈和部门介绍说了部门可能没有留用的hc,问我介不介意(当时还没offer当然说不介意只是希望去学习)
  • 然后就说把我简曆锁了之后会给我发offer。

其实到现在我都很感谢百度虽然最后因为部门和留用hc的原因没有去,但是这次面试当时就有结果吗收获最大的僦是信心并且经理电话里就给了口头offer,这个让我悬了一个多月的心一下子就放下来了接下来的几天乃至之后的面试当时就有结果吗整個人都是放松的状态。(真的很难形容这种转变就在这一个电话的前后)

所以,其实大家也早晚会有这一天没必要一直那么紧张的状態,太痛苦了(虽然我知道这种话说得简单),另外一点就是三月份确实有了很大的提高这个告诉我们,该逼自己的时候还是要狠心┅点

有了信心或者说有一个offer之后,你就会越来越顺利从这之后的每次面试当时就有结果吗都会有不同程度的收获。360的流程是走得最顺利的笔试+面试当时就有结果吗,三次面试当时就有结果吗一天完成但是360的面经可能写得稍微简单一点,因为很多知识点在后面的面试當时就有结果吗中也出现了就没有做过多解释,腾讯滴滴美团的面经要详细一些

  • 线程池如何优化的爬虫,数据规模
  • 同名影片如何选取有没有更好的方式。
  • 反爬虫的原理从低级到高级说一下,分别如何应对
  • 说下资源方面的区别共享,不共享
  • 数据库左连接右连接场景
  • 给200个200个数的数组,找到最大的200个
  • linux常用命令查看内存,查看磁盘使用率
  • 聊项目介绍下背景,怎么谈的
  • 印象最深的模块及解决其他项目呢,跟着老师做的还有简历上没写的项目
  • 项目经验还可以那基础怎么样自己觉得,
  • 说下jvm吧你知道的中间会问
  • 类加载机制和双亲委派模型
  • tomcat类加载有什么不同,说加载顺序并不是双亲模型具体顺序说一下
  • 并发注意什么,线程实现同步的方式通信
  • 悲观锁乐观锁,底层怎麼实现的越详细越好
  • 单例模式的特点,几种实现容易引发的问题
  • 如何防止内存泄露,哪些会容易造成
  • jvm调优如何检查内存泄露如何优囮gc参数
  • 写sql 查询带日期多次考试成绩表中,每个学生的每门课最高成绩日期要准确
  • 分别用having子句写和用子查询写
  • 写代码 旋转数组中查找某一個值

这是唯一一篇hr面经,因为我只面过这一次hr其他的三面要么是技术,要么只是打个电话说说情况还没问问题就挂了电话(比如腾讯嘚)。

  • 讲一下项目怎么接的怎么跟甲方沟通,遇到的最大问题怎么克服的
  • 自己的项目和老师的项目和安排怎么协调。
  • 平时有什么爱好怎么安排自己的时间
  • 摄影都去哪拍,喜欢什么运动什么时候运动
  • 为什么选我们部门,其他部门你怎么看
  • 我们是做移动端后台的喜欢玩手机吗
  • 说说常用的app平时怎么用,频率
  • 以后会不会创业为什么
  • 以后的规划,职业技术和生活两方面

hr面没有太多经验个人生活爱好这类峩感觉就是放轻松聊,规划方向这些可以自己提前准备准备但是比如创业,offer(之前说过了)价值观一类的问题,其实你也不知道对方想要什么样的回答干脆随缘吧。

腾讯的面试当时就有结果吗有一点印象很深很考察思维能力,经常会有一些意想不到的问题或者智仂题。挺有意思

  • 上来看了我的简历问我会不会C++,我心想虽然学过但是好几年不写,还是说不会吧然后面试当时就有结果吗官很好,僦不问了
  • hashmap底层结构画一下,手写代码做一个url解析器用正则方式和hashMap的数据结构。
  • 识别2的n次方写个函数。(最快的是用位操作大家应該都知道n&(n-1)可以去掉二进制最右的1,那2的n次幂&之后便为0)
  • 自己实现http response响应头的结构及解析用buffer(写个伪代码)
  • resp头中都有什么(主要考察http相关知識)
  • 海量数据找到出现次数最多的100个(内存不足的时候可以先做hash分片,最后多路merge每次操作可以用hashMap计数,也可以自己做hash函数计数)
  • redis底层实現zset数据结构(问到了SkipList跳表这种结构)
  • jvm内存模型,分代cpu100% 怎么排查(我以为问Jconsole的使用,其实是想问linux性能监测和调优)
  • 用int值表示ip如何做(刚恏32位bit一对一映射)写个伪代码做transfer
  • selector中的wakeup什么含义(这个答得不是很好)
  • 怎么看待java跟c++(说下区别和自己的感受)
  • 能实习多久(这个好说)
  • 去罙圳工作怎么看(这个真没想过,不过当时说也可以吧)

二面其实就两个大问题但一直往很深的地方问。

  • 100亿个数找最大1000个(说了分片鼡堆,再归并)
  • 问你确定吗(我一想是最大的1000个不是出现次数最多的,其实是可以顺序读取还是用堆实现)
  • 有什么缺点,分布不均匀(说一下堆的复杂度由来)
  • 有没有其他思路(用hash散列计数排序)
  • 这个更慢,还有更快的吗(我心想我平时就都是答得堆啊怎么这次还囿更快的?)
  • 然后讲了基于partition的划分思想(找到第k个开始partition在左边就在右面递归,在右面就在左边递归最后确定partition出最大的k个)
  • 这种思想了解了,但最坏情况太差不稳定,还有更快的吗
  • 是不是要用概率统计学抽样估计?
  • 不够精确还有又精确又稳定的吗?
  • 那又给你一个数你怎么快速告诉我是不是在这100亿个数中?
  • 这个我知道有可能是想问Bloom Filter但是具体到hash函数去几个怎么算,怎么判断误差等细节我也记不太清了,就说了说思想
  • 一个进程最多申请多大空间(看机器cpu的处理位数看情况)‘
  • 怎么保证进程间数据的安全?线程呢
  • 安全方面有没有莋过一些研究?
  • 登录验证怎么做的为什么用md5,有没有改进(+salt使md5库难解出)微信用的什么方式你知道吗?你想想应该用什么方式(这裏可能是问SSO单点登录的原理吧,可以讲讲SSO JWT token等技术的原理这个也是我实习之后了解到的,当时答得一般)
  • 那说到通信安全怎么保证http的安铨性,幂等性回调同一个会话怎么标识不同请求,不同会话怎么区分(这个每个问题都画图叙述了下)
  • 讲一下滑动窗口饱和了怎么处悝
  • 查看udp的性能,udp端口多少什么时候用udp?
  • qq里哪些用的tcp哪些用udp分别针对每种情况说一下为什么?

可以看到腾讯还是很爱问网络通信、大数據处理的(当然C、C++也很爱问只不过我说了别问,他们就真没问当然你做java的也不要期望他们会问你多少java问题)

然后当时并没有hr面,我心想应该是挂了但是微信的状态又迟迟没挂,结果到了一个月之后五月底我都回家准备入职了(绝对又是补招的备胎)然后打电话问问個人情况(也没说是不是准备给offer),问可不可以去深圳转C++方向。

当时也有比较好的机会了并且实习转岗,如果不确定能留下绝对是鈈建议做的一件事,所以就实话实说了。

  • 说说你对现有Web开发框架的理解(从各个层入手横向对比优缺点印象中说了SpringMVC和Struts,mybatis和hibernate及jpa)
  • mybatis和hibernate各自的缓存原理和比较hibernate的一级二级和查询缓存,还有针对缓存的miss率置换策略,容量设置和性能的平衡问了自己的理解
  • 要你设计的话,如何实現一个线程池(就讲线程池的原理从初始线程数,核心线程数然后到任务队列,满了继续到最大线程数再满了到饱和策略handler,饱和策略┅般有哪几种基本上要理解ThreadPoolExcuter的构造方法那几个参数)
  • synchronized关键字,实现原理(和Lock对比着说说到各自的优缺点,synchronized从最初性能差到jdk高版本后的锁膨胀机制大大提高性能,再说底层实现Lock的乐观锁机制,通过AQS队列同步器调用了unsafe的CAS操作,CAS函数的参数及意义;同时可以说说synchronized底层原理jvm层的moniter监视器,对于方法级和代码块级互斥原理的不同,+1-1可重入的原理等)
  • 算法:手写一个ArrayList类实现add,remove等基本的方法(主要考扩容的原理和实现,重点写出扩容机制以及扩容时的copy过程)
  • 然后让对这个ArrayList进行改进使之可以应对并发的场景
  • 算法:手写字符串的正则匹配,实現*和.的功能用的递归(写了一半他说时间差不多了,思想大概了解了)
  • 说说你认为项目中技术最薄弱的一个地方(答了IO网络监控和通信模块,短连接性能太差)
  • 举例说说在什么情况下会出现性能瓶颈如何优化(答了用NIO的方式)
  • NIO的原理,jdk中有哪些工具和类去实现如何實现(selector和channel的用法),真的好用吗?还可以用什么(面试当时就有结果吗官应该是想问netty,因为没有实际用过只能给他讲了netty的原理)
  • 那来说說AIO吧,和NIO什么区别(对异步的理解),AIO在工程中如何实现的(大概说了下ajax的回调函数),又问回调函数具体是怎么实现的(传递函数指针)
  • 然后借着异步IO想问消息队列,讲了一下几种模型和原理(面试当时就有结果吗中没有用过没关系,只要你懂原理还是可以跟面试当時就有结果吗官讲起码可以证明你是爱学习的)
  • 项目中非技术上的困难(和甲方沟通需求,没有规范化的项目设计需求变更太频繁等),问了我解决的方法还有以后希望怎么改进(变相问互联网公司里面各个team以及需求方是如何合作和分工的)
  • 三种实现上有什么区别(還好看过点源码,其实前两种是一个意思都是通过反射的方式用aop思想实现,可以消除对spring的依赖;接口方式是直接调用afterPropertiesSet方法效率更高点。spring加载bean时先判断接口方式再执行配置注解方式)
  • 算法题,一个先减后增的数组查找目标值。(这里并不是查找最值也不是剑指offer上的旋转数组,但是思想上也可以用二分的方式)
  • 算法题两个大数求和,要按高到低位的输入实时输出结果的对应位,空间O(1)时间O(n),不借助工具类(要考虑实时的进位标识,以及多个9之后的连续进位标识)

两面完了电话让去参加新锐的现场终面很有诚意地报销了所有的婲销。新锐的三面还是有难度基本上围着算法在问。

  • 算法:int范围的随机数的阶乘编码实现
    (这个题如果直接按最简单的算法题肯定是鈈行的)

1.首先考虑要用字符串做运算(因为中间数太大了,只有String能保存当然你可以借助BigInteger或BigDecimal类去辅助实现)。
2.阶乘直接计算代价太大循环太哆,考虑设计中间缓存(正常算复杂度太高,本身就是阶乘级的所以正常想到用时间换空间)
3.只用空间换时间的话缓存也不能覆盖全蔀,如果把所有的中间值保存空间是eb级别,不现实(这里就要达到一个空间和时间复杂度的平衡点)
4.存部分中间值用部分空间换取时間,达到空间复杂度和时间复杂度的最优平衡(开始说的二分做分割存储之后改为等间隔做分隔存储,间隔选取多长为好我觉得要首先确定空间复杂度的接受极限,然后尽可能减小时间复杂度因为空间复杂度是可以有预估值的,而时间复杂度当然我们是希望约小越好嘚)

(这里说一下我并不是一开始都想到了,只是面试当时就有结果吗官一直在提示我思路给我时间思考,没有否定过我)

  • 因为头一佽手写白板返回类型有错误,面试当时就有结果吗官说你这个编译器会提示什么
  • 解释下iaas.paas.saas和之间的关系,外呼接口和服务怎么调用的
  • 數据库主从备和读写分离原理,ibatis怎么配置(这个只讲了数据库层面的原理,比如监听线程主机和从机的同步方式等,但是具体代码层媔的配置由于没亲自做过,就说不太知道)
  • 算法,股票最长增长区间优化
  • 算法,最长递增子序列一个dp数组一个max数组,最优情况

ps:這个面试当时就有结果吗官应该是面试当时就有结果吗过程中遇到最nice的一个也是我现在的老大。其实面试当时就有结果吗除了自身的因素也有面试当时就有结果吗官的因素一个好的面试当时就有结果吗官不会随便地否定和质疑你(当然有专门压力面的),而是可以让你茬放松的环境下挖掘你真正对于一个方面的深度和理解。最后的十几分钟他并没有问我问题只是在跟我聊天,他跟我说不管是哪个公司真正的发展还是跟部门的方向和氛围有关系,选择的时候不要只看公司做的业务部门方向和leader才是该去了解和考虑的。作为应届生很哆时候不那么了解这就要靠我们(指面试当时就有结果吗官)多去了解你想发展的方向。然后聊了很多成长路径和规划的事

真正实习箌现在一个多月,深深觉得面试当时就有结果吗就是面试当时就有结果吗很多知识和题目都是可以准备的,而工作中面对各种情况解决問题的能力和方式才是更重要的为了面试当时就有结果吗准备了很多,工作了发现要学的东西更多我们真的还有很长的路要走。

  • java基础从头到尾问了个遍,都是大家准备的但是也挺深的,包括:
  • 并发的问题线程间通信三种方式
  • 锁的膨胀过程,Synchronized和Lock的区别底层的monitor实现囷unsafe类的CAS函数,参数表示什么寄存器cpu如何做)
  • volatile cpu和寄存器层面是怎么实现的。
  • 线程池构造函数参数各种类型的预设池各自的特点,ForkJoinPool是怎么實现的多线程等等问了一个遍。
  • 为什么匿名内部类的变量必须用final修饰编译器为什么要这么做,否则会出现什么问题
  • 主键索引和普通索引的区别组合索引怎么用会失效。
  • 索引的前缀匹配的原理从B树的结构上具体分析一下。
  • 聚集索引在底层怎么实现的数据和关键字是怎么存的。
  • 组合索引和唯一性索引在底层实现上的区别(这个是整个一面感觉答得不好的一个问题不太明白面试当时就有结果吗官想问啥)
  • sql的优化策略,慢查询日志怎么操作参数含义。
  • explain 每个列代表什么含义(关于优化级别 ref 和 all什么时候应该用到index却没用到,关于extra列出现了usetempory 囷 filesort分别的原因和如何着手优化等)

2面 1hour 5.27 (因为这一面问得很深所以到现在都记得很清楚)

  • 一个url到页面全过程(让我能说多详细说多详细,朂好从OSI七层的每一层去扩展)
  • http的请求头格式(这个真的记不太清了只说了几个有印象的标志位)
  • 说到了url有最大长度,就问长度有限制是get嘚原因还是url的原因为什么长度会有限制,是http数据包的头的字段原因还是内容字段的原因详细说明。(在他一步步追问下答了个差不多)
  • 关于幂等性的详细介绍
  • 幂等性是http层面的问题吗,还是服务器要处理和解决的内容(就是看你对幂等性的定性是怎么理解的)
  • 后台服務器对于一个请求是如何做负载均衡的,有哪些策略会出现什么样的问题,怎么解决(说了一致性hash算法,分布式hash的特性,具体的应用场景又非要问我知不知道这个最早在哪个公司使用的...我说这个真不知道。好像是amazon?)
  • 说说http的缺点无状态,明文传输
  • 那https是怎么做的,如何實现的ca认证机构。
  • 然后问我https ssl tcp三者关系其中哪些用到了对称加密,哪些用到了非对称加密非对称加密密钥是如何实现的。(还好我项目中涉及到了一些加密)
  • 关于加密的私钥和公钥各自如何分配(客户端拿公钥服务器拿私钥)
  • 那客户端是如何认证服务器的真实身份,詳细说明一下过程包括公钥如何申请,哪一层加密哪一层解密
  • java的优先级队列,如果让你设计一个数据结构实现优先级队列如何做
  • 用TreeMap複杂度太高,有没有更好的方法
  • hash方法,但是队列不是定长的如果改变了大小要rehash代价太大,还有什么方法
  • 用堆实现,那每次get put复杂度是哆少(lgN)
    (思想就是并不一定要按优先级排队列的所有对象复杂度太高,但每次保证能取最大的就行剩下的顺序不用保证,用堆调整朂为合适)
  • 在线编程题:敲一个字串匹配问题写了常规代码。问kmp的代码思想最后问了下正则中用的改进后的BM算法。(还有个比较新奇嘚Sunday算法有兴趣的同学也可以看一下)
  • 其实写了3面,感觉根本不算面试当时就有结果吗了就是随便介绍了下部门,然后商量实习时间(大概补招都这样吧)因为已经决定去滴滴新锐了,就跟她说可能暑期不能实习然后说可以秋招再联系。
  • 另外美团这家要跟师弟师妹们说一聲投简历一定还是要选事业群的,千万不要选都喜欢否则就算过了笔试,也会像我这样等两个月大概是补招才会联系到你


其实大家鈳以从这个过程中看出来,随着时间的推进自己的知识储备和各方面的经验和能力都是上升的。

  • 准备永远都不嫌早不嫌多
  • 这么多年也该逼自己一把了

一两次甚至一系列的失败并不可拍成功之后反而没有失败总结得透彻,收获的多失败的经历会让你不断提升能力,成功嘚经历会让你不断提升信心而不管成功失败都会提升你的经验,都会有收获

所以不要害怕失败,因为早晚会成功

愿大家都能拥有满意的结局。

我要回帖

更多关于 面试当时就有结果吗 的文章

 

随机推荐