面试

互联网大厂是如何360°无死角考察技术候选人的?

久未见 提交于 2020-11-18 10:23:18
最近收到不少读者反馈,说自己在应聘一些中大型互联网公司的 Java 工程师岗位时遇到了不少困惑。 这些同学说自己也做了精心准备,网上搜集了不少 Java 面试题,然而实际去互联网公司面试才发现,人家问的,和你准备的对不上号,这就很尴尬了...... 因此,从这篇文章开始,笔者准备写一个长期连载的系列文章:《Java 进阶面试系列》。主要跟大家聊聊中大型互联网公司 Java 面试中的一些热门、高频的技术问题。 希望这个系列的文章,能在年后金三银四的跳槽季中,助各位小伙伴一臂之力。 中大型互联网公司面试官是如何发问的? 先来体验一个真实的面试连环炮, 现在一些中大型互联网公司的面试官,在面试候选人时,一般都会采取连环炮的策略来深挖一个候选人的技术水平。 举个例子,比如说看你简历上写了熟悉消息中间件(MQ 技术)。那么可能我们就会有一个类似下面这样的连环炮式发问: 说说你们公司线上生产环境用的是什么消息中间件? 那你们线上系统有哪些技术挑战,为什么必须要在系统里引入消息中间件? 你们的消息中间件技术选型为什么是 RabbitMQ? 为什么不用 RocketMQ 或者是 Kafka?技术选型的依据是什么? 你们怎么保证消息中间件的高可用性?避免消息中间件故障后引发系统整体故障? 使用消息中间件技术的时候,你们怎么保证投递出去的消息一定不会丢失? 你们怎么保证投递出去的消息只有一条且仅仅一条

面试被问到分布式锁,凉凉

筅森魡賤 提交于 2020-11-18 08:41:21
随着企业应用规模越来越大,为了满足业务增长的需求,几乎所有一线的互联网公司都会面临分布式场景,比如“618”,双11 大促,抢票,社群裂变等活动。 能否解决分布式业务问题,成为大厂面试时的重点考核内容。 然而,想把分布式掌握好并不是一蹴而就的,如果只是临时抱佛脚,草草记下一些概念就去应聘,稍一深入,就答不上来,结果可想而知。比如 现在实现分布式锁的技术方案就不少,那么面试官经常都会问到什么深度呢? 下面列举几个问题,大家可以参考下: “ XA 规范有哪些优化措施? 基于数据库实现分布式锁有哪些问题? 使用Zookeeper实现分布式锁时,如何选择重试策略?” 正值暑期求职旺季, 不少朋友苦于搜集资料耗时耗力,很难 cover 住面试官的考核角度。为了能让大家在准备面试时少走弯路,这里特别推荐一个限时福利——开课吧历时三个月打造的 “分布式专题精品课” 内容对本公众号免费开放 5 天。 本次专题视频的讲师都源于国内知名互联网公司,花费了近三个月的时间,调研精选各大互联网企业真实业务场景和用人需求,经过多次迭代,最终形成了这套专题内容来帮助正在求职的朋友们。 听下来,你可以: 收获完整的分布式开发学习路径 在实际业务场景中理解分布式事务和锁的本质,并进行性能调优 吸收业界专家的经验分享,加速分布式技能进阶 加深分布式底层和核心技术的理解 轻松应对面试中分布式问题

深度 | 巨头垄断下的创业机会

只愿长相守 提交于 2020-11-18 05:06:16
有个问题一直都有人在问,现在巨头垄断,创业是不是比以前更难了? 我觉得吧,这事分两边来看。 一方面,确实,我们注意到,互联网江山迭代的趋势似乎停滞了,十年前大家都在说,你看雅虎被谷歌取代了,新浪被百度取代了,互联网早期,城头变幻大王旗。但现在我们发现, 巨头地位愈加巩固,而挑战者似乎越来越力不从心。 江山依然在一批那几个60后和70后的手里,准确的说是集中在65-75之间的那几个人手里,我刚看了马化腾,李彦宏,马云,丁磊,雷军,周鸿祎,刘强东,张志东,曹国伟的百科,他们的出生年月非常集中,他们那一波人统领了互联网江山。(蔡崇信和张朝阳也只是略早一点)而75后,80后,最优秀的创业者,目前还只能站在第二梯队。 但另一方面,市场空间真的比草根黄金期大了百倍不止。做颠覆者确实很难,但做个开心盈利的公司,还是有很多机会的,你看当年百度上市估值十亿美元都被人说泡沫,现在一个趣店上市就破百亿美元。创业机会还一直是有的。 而巨头垄断这个事情呢,我们也要分两边看。 第一,巨头什么都插手,什么都介入,把握所有赛道,试图控制所有流量入口,高价抢尽人才,极大提高了创业门槛,这是真的。 第二,巨头每年巨资反哺创业者,高价投资和收购创业团队,这也是真的。 巨头抢赛道,既是创业者的威胁,但同时也是创业者的机会。 数据说话 第一:百度每年为购买流量花多少钱呢?100多个亿。是100多个亿啊!发给流量渠道的钱

如果是中专学历,以后做网络工程师会有瓶颈吗?

穿精又带淫゛_ 提交于 2020-11-17 08:38:48
刚才有个小白参加了网络工程师成长日记,作者小编,问到了这个问题。那么对于学历这一块有些硬伤的朋友,网络工程师成长日记作者小编来给大家一些建议。 一 学历是硬伤的话,要么通过其他方面弥补,要么想办法弥补学历 有些朋友可能因为种种原因没有上大学或者学历,就是个中专,或者就是个普通大专 那么如果是这类朋友,可能像华为这种卡学历的大公司是去不了的,但是这个社会上依然有很多中小型和普通的系统集成公司和大量的互联网公司,对于一部分公司可能也不会10分卡学历,所以首先对于就业来说的话不要慌张也不要担心,总是有能够接受你的公司 当然了,学历如果是硬伤的话,可能偶尔也会遇到一些好机会,自己因为学历没有进去,这个就没必要遗憾了,因为毕竟学历的问题在这摆着,但是先通过不断的提升经验,不断的提升能力想办法,如果报一个类似什么网络学校之类的,以后能弥补学历也可以,毕竟社会现在这么发达,有很多方法都可以弥补 二 找工作学历是一方面,并不代表你的全部。 现在如果不是去一线大厂的话,那么如果你去中小型企业大多数的中小型企业,他并不会在意你是不是985 211的,更多的是他希望你能直接干活 所以对于这类朋友,千万不要再和网络工程师成长日记小编分享,你如何失败的,而是要找我们怎么样能够成功找到工作或者在工作中能够提升的方法,因为你怎么诉说你的痛苦,雪丽在短时间内我们都没有办法解决

为什么软件测试立马就能找到工作?

橙三吉。 提交于 2020-11-17 08:10:58
软件测试工作和网络工程师有什么区别?下午有个小白和我聊天的时候讲到了,实际上他现在还没有毕业,但是出去面试找工作的时候,网络工程师他找了,一直没有面试上,但是软件测试这个岗位他不知道做什么,却直接就能应聘上。 他说完这个时候,网络工程师成长日记作者小编基本上90%也能猜出他遇到了什么,实际上像这个小白,如果是大专学历,能做软件测试的可能性并不一定很大,更多的可能是遇到了培训机构 一 很多小白太天真,以为企业会对一个人无限制的好 因为这个网友说到了他去面试的时候,他什么都不会,但是对方。告诉他可以无条件的培养他,而且培养他的时候每个月还能发2000,只要他工作了之后,每个月从工资里面掏1000块钱给他的项目经理就可以了,连续掏10个月。 各位朋友,其实只要你在社会上面试过,你就知道这是经典的诈骗套路,无非是你面试去了某家培训机构假冒招聘,然后办理一个贷款而已 因为当你不会技术类的工作,突然能遇到一家公司愿意培养你,又给你发钱,你得先想清楚或者说难听点照照镜子,是不是清华北大毕业,为什么你会如此这么吸引人,当然很多小白,没见过社会的种种套路,还真的以为自己突然遇到了白富美,突然有个美女把你爱的死去活来。 二 软件行业更讲究学历网络工程师更多的是偏向于经验 因为这个小白是个大专学历,所以如果一旦你真的是要做软件开发或者做软件测试,通常你需要考虑的,第一就是你的学历问题

编程技术目录汇总(20200818-第八版)

穿精又带淫゛_ 提交于 2020-11-17 06:45:34
“ PHP、MySQL、Linux 技术目录汇总 ” 喜欢就 关注 我们吧! 简介: Hello 各位 ,我是公号「 八点半技术站 」的创作者 - Bruce.D (姓氏: 豆)。 从2020-03-21 开始,我将重新梳理运营公众号 ,并会把自己在工作中遇到的问题与心得,全部梳理分享给大家。 技术的交流、不仅仅限制于阅读,在此欢迎各路大神、小白,来 「 wx技术群 」 分享自己的编程经验心得 与 技术实战干货。 1 - 专辑 - 数据库模块 mysql 慢查询,你操作的对吗? 一起来聊聊MySQL 8.0 的特性及排名可好? MySQL 中 ACID 底层内部实现原理详解 MySQL 经典30题,拿走不谢!!! 一起来聊聊,那些你不知道的 MySQL 函数 mysql 导入数据太慢,来教你实用干货 2 - 专辑 - 工具模块 8分钟 git 一键部署流程、以及常用命令汇总 实时通信的「聊天室」源码,Ctrl+c/v就可以用!!! 如何高效进行 API 的接口性能压测? (上部)你要的 wechaty 微信机器人教程 (下部) wechaty 微信机器人源码教程 解析 BAT 大厂的经典面试题(上篇) 解析 BAT 大厂的经典面试题(中篇) 解析 BAT 大厂的经典面试题(下篇) 作为新手,怎样了解 docker? 3 - 专辑 - 网络服务模块 面试中经常问到的 长连接&短连接

好用到爆的Java读源码技巧

≯℡__Kan透↙ 提交于 2020-11-17 06:33:41
面试官:简历上写了精通Spring,那你回答一下Spring为什么用“三级缓存”去解决循环依赖? 我:.......应该有三个缓存的map结构 面试官:具体回答一下 我:平时也没特别认真深入过 面试官:公司的门在那里,自己走还是我送你? 很多开发者在开发 Spring 程序的时候,被动接受了已经做好的 Spring 特性案例。虽然这样减少了开发成本,但是也限制了自身的横向扩展能力。 只知道如何使用,却不知道做了什么,那么注定只可能是一个码农。因为Spring 框架几乎集成了一半 Java Web 开发的江山, 而只知道写,却不知道为什么这么写、不知道如何优化,是非常危险的。 作为一个轻量级的 Java 开发框架,Spring将面向接口的编程思想贯穿整个 Java 系统应用,所以在面试中一直是高频考察点。 而Spring两大特性IOC和AOP ,也是通过面试必须要掌握的知识点。 在几次参与面试的经历中我发现了一个问题: 很多Java程序员并没有彻底的理解IOC和AOP,只是仅限于IOC就是控制反转和AOP就是面向切面。 以IOC为突破口,它是控制反转,表示Spring接管了创建对象的工作,程序员只需要定义对象即可。被Spring创建的对象叫做Bean,而Spring在创建一个对象时,并不是仅仅只会简单的new出来一个对象,而是有一套Bean的生命周期, 所以,在说到IOC时

阿里一道面试题把90%的程序员拦在了门外

妖精的绣舞 提交于 2020-11-17 03:44:20
兄弟们,大家好。时隔多天,我,终于来了。今天我们来聊一下让人神魂颠倒的 Synchronized 。 不过呢,在读这篇文章之前,我希望你真正使用过这个东东,或者了解它到底是干嘛用的,不然很难理解这篇文章讲解的东西。 这篇文章的大体顺序是:从 无锁-->偏向锁-->轻量级锁-->重量级锁 讲解,其中会涉及到 CAS , 对象内存布局 ,缓存行等等知识点。也是满满的干货内容。其中也夹杂了个人在面试过程中出现的面试题,各位兄弟慢慢享受。 Synchronized 在 jdk1.6 做了非常大的优化,避免了很多时候的用户态到内核态的切换,节省了资源的开销,而这一切的前提均来源于 CAS 这个理念。下面我们先来聊一下 CAS 的一些基本理论。 1. CAS CAS 全称: CompareAndSwap ,故名思意:比较并交换。他的主要思想就是: 我需要对一个值进行修改,我不会直接修改,而是将当前我认为的值和要修改的值传入,如果此时内存中的确为我认为的值,那么就进行修改,否则修改失败。 他的思想是一种乐观锁的思想。 一张图解释他的工作流程: 知道了它的工作原理,我们来听一个场景:**现在有一个 int 类型的数字它等于1,存在三个线程需要对其进行自增操作。** 一般来说,我们认为的操作步骤是这样:线程从主内存中读取这个变量,到自己的工作空间中,然后执行变量自增,然后回写主内存

OSChina 周二乱弹 —— 用什么睡姿抱着女友睡觉最舒服

瘦欲@ 提交于 2020-11-17 02:33:26
Osc乱弹歌单(2020)请戳( 这里 ) 【今日歌曲】 小小编辑:《桃乐茜的来信》- I'll call U 《桃乐茜的来信》- I'll call U 手机党少年们想听歌,请使劲儿戳( 这里 ) @ 啊嘞嘞嘞嘞嘞 :有图 八百米的床啊 赶紧跑步上班去吧。 不过跑不起来了, 因为睡觉姿势不对。 @ 善良超哥哥 : 年纪真的大了。以前不管什么时候晚睡,不管用不用枕头,不管用什么姿势,睡醒都不会有任何不适应。昨天晚上+趴着睡,今天脖子和肩膀痛了一天 “哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 枕着……屁股睡。” 巴蜀(@ 巴拉迪维 )也准备给姿势升级了, @ 巴拉迪维 :今天开始站着办公,可是,外接的显示器咋搞啊? 你站着姿势不对, 貌似对腰和背部也不友好。 反正你要有一个标准姿势, “这个姿势写作业 我看着都头晕……” 燃烧吧! 程序员之魂, @ 芯芊 :变量!对象!我的代码在编译器中燃烧!处理器因我的折磨而颤抖!可悲的需求在我的加班中崩溃!最终,整个项目都将毁灭!在我双手的键盘中,万码皆成灰烬! 头……头发也成灰烬。 “现在的发量最起码比红薯多。” 等头发耗尽, 就没有编程之力了, 就到了离职的时候了, @ greenghost :腾讯员工顶不住996的工作安排,放弃年入75万的工作,和老板提离职,结果被一顿教育。。。 我也真的好想, 变成一个必不可缺的人, 但是当我面试的时候,

Java 程序员必须掌握的 5 个注解!

你说的曾经没有我的故事 提交于 2020-11-16 08:28:15
来源:codeceo www.codeceo.com/5-annotations-every-java-developer-should-know.html 划重点 自 JDK5 推出以来,注解已成为Java生态系统不可缺少的一部分。虽然开发者为Java框架(例如Spring的@Autowired)开发了无数的自定义注解,但编译器认可的一些注解非常重要。 在本文中,我们将看到5个Java编译器支持的注解,并了解其期望用途。顺便,我们将探索其创建背后的基本原理,围绕其用途的一些特质,以及正确应用的一些例子。虽然其中有些注解比其他注解更为常见,但非初学Java开发人员都应该消化了解每个注解。 @Override @FunctionalInterface @SuppressWarnings @SafeVarargs @Deprecated 首先,我们将深入研究Java中最常用的注解之一:@Override。 @Override 覆盖方法的实现或为抽象方法提供实现的能力是任何面向对象(OO)语言的核心。由于Java是OO语言,具有许多常见的面向对象的抽象机制,所以在非终极超类定义的非最终方法或接口中的任何方法(接口方法不能是最终的)都可以被子类覆盖。点击 这里 阅读 Java 10 新特性实战教程。 虽然开始时覆盖方法看起来很简单,但是如果执行不正确,则可能会引入许多微小的bug。例如