面试

普通程序员看代码,顶级程序员看趋势

☆樱花仙子☆ 提交于 2021-02-17 03:49:21
都说选择比努力更重要,在IT领域更是如此了。 一次失败的面试经历 大约在五年多以前,小灰千方百计想要进入一家IT公司。之所以这么想去,并不是因为这家公司能给多高的薪资、多高的股权,而是因为这家公司引领着全球的IT技术趋势,他们的首席科学家更是IT行业的泰山北斗。 小灰觉得,要是有幸能进入这家公司,自己就会从此变得不一样,能够拥有更大的格局,能够看清楚未来的趋势。 投了简历,心中忐忑地等了几天,终于接到了公司HR的电话。这家公司的招聘方式也挺特立独行的,在面试之前,先给小灰留了一个“作业”,让实现一个小功能;后续的面试中,又搞了个所谓的“结对编程”,小灰在整个面试过程中收获了许多。 然而,人生总是伴随着遗憾。第二天,小灰迫不及待地给HR打电话询问面试结果,被告知没有通过。小灰复盘了整个面试流程,明白自己在一些技术的深度上还有些欠缺,因此最终和心仪的公司失之交臂。 虽然那一次面试失败的经历很令人惋惜,但也让小灰有了更大的学习动力。毕竟,再好的企业环境也只是外因,真正能改变自己的,只有自己。 至于这家公司,到底是何方神圣呢?许多小伙伴应该已经猜到了,这家公司就是 ThoughtWorks 。 而前面提到的那位首席科学家不是别人,正是 Martin Fowler 。这位老爷子曾经撰写《重构》、《分析模式》、《UML精粹》等经典著作,同时也是全球著名的面向对象分析设计、UML

Lombok 作者因兼容问题讨伐 IntelliJ IDEA(官方已妥协)

百般思念 提交于 2021-02-17 03:00:38
今天(08/26),你看到本文应该是昨天了。 栈长上班打开电脑,按往常一样打开 IntelliJ IDEA 正准备撸码,突然收到 IDEA 2020.2.1 的更新提醒: 我现在用的还是 2020.1 版本: 前段时间,IDEA 2020.2 也发布了,我也收到了更新提醒,但每次我都 X 掉。 因为每次发新版本就会有一个问题,也一直影响着大家升级,那就是粉丝普遍反馈的 Lombok 等插件不兼容的问题,没办法,我们也用了 这个插件 ,轻量使用而已。 这次再点 IDEA 2020.2.1 进去看: 还是说不兼容 Lombok ,到底是什么鬼? 再注意看最上面的更新说明,IDEA 2020.2.1 修复了一些 bug,第一个就是关于 Lombok 的: The Lombok plugin now works as expected without getting blocked by exceptions. 再点击链接进去看: https://youtrack.jetbrains.com/issue/IDEA-248146 我看了下,是 Lombok 插件原作者两周前发的请求支持的贴子,关于 IntelliJ IDEA 2020.2 不兼容他的插件的问题,想寻求 IntelliJ IDEA 开发者的支持。 下面是评论: 栈长来解读下他们的留言: Wojciech Musiał:

主动撤离一线城市,北京到杭州

隐身守侯 提交于 2021-02-17 02:12:26
#主动撤离一线城市# 一个「北京->杭州」的真实案例。 昨天晚上和一位群友F吃饭,他专程从北京来杭州办理户口,周日到,住一晚,周一现场确认,办完赶回北京上班,大概是这么个流程。 F是「中产之路」某群一位群友,之前在群里问过怎么办理杭州户口问题,我恰好有位校友做户口代办服务,就牵了线,他这次来杭州,是因为办理户口迁入的过程中,某个环节必须当事人现场确认。 为他牵线后,他又问了一些杭州买房方面的问题,虽然没有实质上帮上忙,他还是非常客气,要请我吃饭,说了好几次,不好意思再推脱。 最后约在网易附近的一个大商场,跟我住所不远,时间定在5:30,他在一楼门口等我,小伙子人很帅气、干练,见面后直接领我到4楼餐厅,菜都上好了,直接开吃,吃完饭又到钱塘江边散步。 去年也有一位读者L,第一次见面,也是约在江边。他是高我两级的一位校友,江西人,研究生毕业后回到家乡地市运营商,工作了五六年,他说因为跟老丈人不和,从中作梗,弄得一地鸡毛被迫离婚。他不甘于现状,也想为儿子留下点什么,就离开了运营商,到上海一家通信咨询公司上班,那会他在杭州出差。 因为输入不高,L也想转行到互联网,学习了许多大数据知识,光阿里就面试了好几次,都没通过,问我意见。他83年的,我说不要再做技术了,转行过来从零开始跟年轻人贴身肉搏,没有任何胜算。 我建议他寻找跟之前工作经历有关联的机会,后来又面试了几个工作,包括嘀嘀在南昌的运营经理

CSS盒模型之内边距、边框、外边距-19问 (持续更新)

[亡魂溺海] 提交于 2021-02-17 01:37:00
△ 是 新朋友 吗?记得先点 web前端学习圈 关注我哦~ 本篇文章主要探讨盒模型,以及内边距、边框、外边距的面试题与思考,也希望您能把您的思考和遇到的问题以评论的方式补充下,后期,我将会补充到文章中 第一问:什么是盒模型? 可以说,页面就是由一个个盒模型堆砌起来的,每个HTML元素都可以叫做盒模型,盒模型由外而内包括:外边距(margin)、边框(border)、填充(亦称内边距)(padding)、内容(content)。它在页面中所占的实际宽度是margin + border + paddint + content 的宽度相加。 但是,盒模型有标准盒模型和IE的盒模型。 第二问:两者的区别是什么? 我们先来看两张图: 标准的(W3C)盒模型: IE盒模型: 第三问:怎么设置这两种模型呢? 很简单,通过设置 box-sizing:content-box(W3C)/border-box(IE)就可以达到自由切换的效果。 第四问JS怎么获取和设置盒模型的宽高呢,你能想到几种方法 第一种: dom.style.width/height 这种方法只能获取使用内联样式的元素的宽和高。 第二种: dom.currentStyle.width/height 这种方法获取的是浏览器渲染以后的元素的宽和高,无论是用何种方式引入的css样式都可以,但只有IE浏览器支持这种写法。 第三种:

看了这篇Redis,我以大专生的身份,进入了阿里,定级P7

淺唱寂寞╮ 提交于 2021-02-16 23:38:38
摘要 : 前几天讲了Redis的面试知识点,当然那只是一部分,我相信各位在面试,或者实际开发过程中对缓存雪崩,穿透,击穿也不陌生吧,就算没遇到过但是你肯定听过,那三者到底有什么区别,我们又应该怎么去防止这样的情况发生呢,我们有请受害者。面试开始一个大腹便便,穿着格子衬衣的中年男子,拿着一个满是 ... 前几天讲了Redis的面试知识点,当然那只是一部分 , 我相信各位在面试,或者实际开发过程中对缓存 雪崩 , 穿透 , 击穿 也不陌生吧,就算没遇到过但是你肯定听过,那三者到底有什么区别,我们又应该怎么去防止这样的情况发生呢,我们有请受害者。 面试开始 一个大腹便便,穿着格子衬衣的中年男子,拿着一个满是划痕的mac向你走来,看着快秃顶的头发,心想着肯定是尼玛顶级架构师吧!但是我们腹有诗书气自华,虚都不虚。 小伙子我看你的简历上写到了Redis,那么我们直接开门见山,直接怼常见的几个大问题,Redis雪崩了解么? 帅气迷人的面试官您好,我了解的,目前电商首页以及热点数据都会去做缓存 ,一般缓存都是定时任务去刷新,或者是查不到之后去更新的,定时任务刷新就有一个问题。 举个简单的例子 :如果所有首页的Key失效时间都是12小时,中午12点刷新的,我零点有个秒杀活动大量用户涌入,假设当时每秒 6000 个请求,本来缓存在可以扛住每秒 5000 个请求,但是缓存当时所有的Key都失效了。此时

记我在github上参与的Star增长最快的十万级项目。。。

夙愿已清 提交于 2021-02-16 21:53:09
前言   GitHub作为程序员的圣地。   用了两三年,一直都觉得,他可以代码托管,项目管理,为项目建立静态主页,个人简历,找工作,面试加分。   然而》》》。。。。昨天才认识到我还是太年轻,发现了几个新大陆。。。   !!!!!!!!女装:https://github.com/komeiji-satori/Dress   !!!!!!!!更改图片风格:https://github.com/kaishengtai/neuralart   !!!!!!!!控诉互联网公司的侵权行为:https://github.com/996icu/996.ICU/issues   最后这个项目才过去两天。。star数刚刚已经达到 了2w4????这是什么神仙项目 正文   刚刚点进去的我,嗯。中规中矩。      然而,然而。。。今天早上发生了什么??    原来V2EX用户,因为公司996,深受996的危害,注册了这个项目,专门为大家维权,并且增加了一些公司黑名单 看着这些公司。我不禁陷入了深思(怎么都是我准备去的。。。): 突然从心底里,羡慕在国外工作的朋友以及在国企工作的朋友。 不过很多朋友表示,给钱就行。 PS:我心里也是这么想的。只要钱给的够,996什么的,不存在的。 分享一些我觉得意思的给大家看看吧:   看着大家的各种有意思的评论,还是感同身受,希望大家都能身体健康

【阿里】简述下 TLS 握手过程

心已入冬 提交于 2021-02-16 21:47:17
从亨茨梅萨俯瞰纪念碑谷,亚利桑那州与犹他州之间纳瓦霍族保留地 (© AWL Images/Danita Delimont) ❝ 本题摘自于我 github 上的面试每日一题:https://github.com/shfshanyue/Daily-Question,并有大厂面经及内推信息,可 「在左下角打开本题原文链接」 ❞ TLS 握手的详细过程可参考下图: TLS handshake ❝ 以上图片来自 high-performance-browser ❞ 从 wireshark 抓包,也可以看到握手的详细流程,建议抓包加强理解,以下是抓包 https://q.shanyue.tech 时的握手流程 通过 curl -vvv --head 来查看握手信息: $ curl -vvv --head https://q.shanyue.tech * Trying 111.6.180.235... * TCP_NODELAY set * Connected to q.shanyue.tech (111.6.180.235) port 443 ( #0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/ssl/cert

一道简单的mysql面试题—你能写出答案不?

丶灬走出姿态 提交于 2021-02-16 20:48:45
最近我在面试时,发现基本每个面试者都会写自己熟悉sql的使用,类似下面这种描述: 熟悉MySQL的常规操作及MySQL数据库的优化方式 维护公共数据库环境(oracle,Mysql,sqlserver等) 熟练操作SQLserver 数据库,My Sql数据库对数据进行增、删、改、查,使用事务,存储对数据进行操作 所以,我现在每次都会出一道sql题目,考察下面试者是否真的掌握了sql语句。我将题目分享出来,大家可以看看自己是否能答的出来。 初始表 假如有一张学生分数表,总共有3项:学号id、科目id、分数。我们先在本地创建个表,然后插入一些初始化数据 create table if not exists student_score ( id bigint auto_increment comment '主键' primary key , student_id bigint not null comment '学生id' , subject_id varchar ( 100 ) null comment '科目id' , score float null comment '学生分数' , row_state tinyint ( 1 ) default 1 null comment '是否有效状态 1正常 0删除' ) ENGINE = InnoDB AUTO_INCREMENT= 1

IDEA 公司推出新字体,极度舒适~

狂风中的少年 提交于 2021-02-16 19:57:16
Java技术栈 www.javastack.cn 优秀的Java技术公众号 这几天炒得沸沸扬扬的 Intellij IDEA 公司 JetBrains 推出了一种新字体: JetBrains Mono ,据说它是专为开发人员设计的,下面栈长带大家 一起 来吃个瓜。 JetBrains Mono 官方地址: https://www.jetbrains.com/lp/mono/ 栈长特地去了下 JetBrains Mono 官网,看起来还是挺舒适的: 如果你说,没什么舒适不舒适的,差不多,你再来看下 JetBrains Mono 和 Consolas 这两种字体的比较,应该明清晰了: 可以点击放大开 并且,从 2019.3 版本开始,JetBrains Mono 字体将随 JetBrains 系列 IDEs 一起提供。 使用方式: Preferences/Settings → Editor → Font, 然后选择 JetBrains Mono 字体。 当然,你也可以在老版本的 JetBrains 系列 IDEs 或者其他 IDE 开发工具中使用它 。 安装方式: https://www.jetbrains.com/lp/mono/#how-to-install 有兴趣的、爱折腾的朋友们也可以尝试下哦,生活和工作这么 boring 了,总要来点新花样不是。 END 学习资料:

面试: 14 个实用的数据库设计技巧,一次性教给你!

故事扮演 提交于 2021-02-16 19:55:20
目录 原始单据与实体之间的关系 主键与外键 基本表的性质 范式标准 通俗地理解三个范式 要善于识别与正确处理多对多的关系 主键PK的取值方法 正确认识数据冗余 E--R图没有标准答案 视图技术在数据库设计中很有用 中间表、报表和临时表 完整性约束表现在三个方面 防止数据库设计打补丁的方法是“三少原则” 提高数据库运行效率的办法 1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。这就是“一张原始单证对应多个实体”的典型例子。 2. 主键与外键 一般而言,一个实体不能既无主键又无外键。在E—R 图中, 处于叶子部位的实体, 可以定义主键,也可以不定义主键(因为它无子孙), 但必须要有外键(因为它有父亲)。 主键与外键的设计,在全局数据库的设计中,占有重要地位。当全局数据库的设计完成以后,有个美国数据库设计专家说:“键,到处都是键,除了键之外,什么也没有”,这就是他的数据库设计经验之谈,也反映了他对信息系统核心