面试

PKUWC2019 凉凉记

半世苍凉 提交于 2020-12-12 15:32:49
<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=298 height=52 src="//music.163.com/outchain/player?type=0&id=2660317428&auto=1&height=32"></iframe> 请配合 BGM 食用。 菜就是菜,说什么都是借口。 Day 0 前一天先到纪中报道,高铁上打了一会单机膈膜,然后又打了一遍 $FFT$ 板子,就到了中山。 到了后,发现气温骤然升高,马上 脱 换裤子,舒服了一点。然后就被纪中的车直接接到了纪中。 一开始到宿舍。。发现连被子都没有,只有个木板。。。我们戏称比军训还恐怖的住宿环境。 还好后来屈哥联系了一波让老师送过来了qwq 晚上翻看原来写的博客,然后打了几个字符串的板子,就早早睡觉了。 Day 1 上午是喜闻乐见的开幕式,吹了一波纪中是全国最美的学校。(话说纪中是真的超级大) 然后 PKU 信科的几个教授来发言,实力吹了一波后就结束了。 中午回寝室,由于下午是第一场,还是好好躺着休息了一下。 $12:30$ 就去考场,结果等到 $12:50$ 老师才来开机房门放人进去,我就只能打简陋版的配置咯。 开场,先开 $T1$ 。 给你 $n$ 个点 $m$ 条边的有向图(无重边自环),定义一个边集

如何做到,在35岁后不被猎头嫌弃???

烂漫一生 提交于 2020-12-12 15:32:19
如何做到,在35岁后不被猎头嫌弃? ? ? 在文中开头,我想问问大家看过《挺好的》这部电视剧吗? 在这部电视剧中,有个情节,就是一个大龄的程序猿小哥哥被裁后的情景~ 35岁,对很多工程师来说,都是比较担忧的事情 到了35岁,不仅仅被公司嫌弃,就连平时对你如亲人般的猎头也都淡淡的远离你 因此,35岁,变成了互联网工程师的一道门槛 我问过很多身边的工程师朋友,他们对35岁这个门槛怎么看 不同的人有不同的看法 很多工程师朋友喜欢自黑 所以他们给我的答案是这样的: 当外卖小哥 滴滴小哥 回家种地 去成都打麻将 虽说这些都是开玩笑的话,但是你可以从其他方面来分析这些职业性质 先说,小编只是客观按照小编的视觉来分析,并没有不看好某个职业的意思(求胜欲爆棚) 快递小哥,滴滴司机 老家的农民伯伯由于他们的文化水平有限,掌握的技能有限,所以他们大都是靠辛勤的双手养活自己,每天挣一分有一分 想到这些行业的工作的工程师,对自我的认识也比较深入,因为他们自知自己除了在代码领域比较厉害,其他领域一无所长,所以最后自己只能靠自己的双手,劳力劳动赚钱~~ 说的这儿,小编突然想到了一个在宅社区这个公众号看到的一张图片 这张图片上用了一种比较特殊的手法,描绘了产品经理、市场专员、运营专员、运维工程师、软件工程师的一步步晋升,到一步步衰落 其实小编想说,如果你现在没有职业规划,就像混混那2、3w的底薪,那么,未来的你

面试官 | 什么是递归算法?它有什么用?

有些话、适合烂在心里 提交于 2020-12-12 14:57:22
前言 递归是算法中一种非常重要的思想,应用也很广,小到阶乘,再在工作中用到的比如统计文件夹大小,大到 Google 的 PageRank 算法都能看到,也是面试官很喜欢的考点 最近看了不少递归的文章,收获不小,不过我发现大部分网上的讲递归的文章都不太全面,主要的问题在于解题后大部分都没有给出相应的时间/空间复杂度,而时间/空间复杂度是算法的重要考量!递归算法的时间复杂度普遍比较难(需要用到归纳法等),换句话说,如果能解决递归的算法复杂度,其他算法题题的时间复杂度也基本不在话下。另外,递归算法的时间复杂度不少是不能接受的,如果发现算出的时间复杂度过大,则需要转换思路,看下是否有更好的解法 ,这才是根本目的,不要为了递归而递归! 本文试图从以下几个方面来讲解递归 什么是递归? 递归算法通用解决思路 实战演练(从初级到高阶) 力争让大家对递归的认知能上一个新台阶,特别会对递归的精华:时间复杂度作详细剖析,会给大家总结一套很通用的求解递归时间复杂度的套路,相信你看完肯定会有收获 什么是递归 简单地说,就是如果在函数中存在着调用函数本身的情况,这种现象就叫递归。 以阶乘函数为例,如下, 在 factorial 函数中存在着 factorial(n - 1) 的调用,所以此函数是递归函数 public int factorial ( int n) { if (n < = 1 ) {

面试官:数据量大的情况下分页查询很慢,有什么优化方案?

眉间皱痕 提交于 2020-12-12 14:57:02
来源: http://uee.me/aVSnD 当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。 下面简单说一下我知道的一些方法。 准备工作 为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明。 表名:order_history 描述:某个业务的订单历史表 主要字段:unsigned int id,tinyint(4) int type 字段情况:该表一共37个字段,不包含text等大型数据,最大为varchar(500),id字段为索引,且为递增。 数据量:5709294 MySQL版本:5.7.16 线下找一张百万级的测试表可不容易,如果需要自己测试的话,可以写shell脚本什么的插入数据进行测试。以下的 sql 所有语句执行的环境没有发生改变,下面是基本测试结果: select count(*) from orders_history; 返回结果:5709294 三次查询时间分别为: 8903 ms 8323 ms 8401 ms 一般分页查询 一般的分页查询使用简单的 limit 子句就可以实现。limit 子句声明如下: SELECT * FROM table LIMIT [offset,] rows | rows OFFSET

面试官:优化代码中大量的if/else,你有什么方案?

安稳与你 提交于 2020-12-12 13:46:07
一个快速迭代的项目,时间久了之后,代码中可能会充斥着大量的if/else,嵌套6、7层,一个函数几百行,简!直!看!死!人! 这个无限循环嵌套,只是总循环的一部分。。。我已经绕晕在黄桷湾立交 仔细数了数,一共有 11 层的嵌套!!! 接手这种项目的同学,内心应该是绝望的。 出现这种情况的原因很多 设计不够完善 需求考虑不完全 开发人员变动 但最为致命的是“懒” 你懒,我也懒,前期迭代懒得优化,来一个需求,加一个if,久而久之,就串成了一座金字塔。 当代码已经复杂到难以维护的程度之后,只能狠下心重构优化。 那,有什么方案可以优雅的优化掉这些多余的if/else? 1. 提前return 这是判断条件取反的做法,代码在逻辑表达上会更清晰,看下面代码: if (condition) { // do something} else { return xxx;} 其实,每次看到上面这种代码,我都心里抓痒,完全可以先判断 ! condition ,干掉else。 if (! condition ) { return xxx ; } // do something 2. 策略模式 有这么一种场景,根据不同的参数走不同的逻辑,其实这种场景很常见。 最一般的实现: if (strategy.equals("fast")) { // 快速执行} else if (strategy.equals(

面试最后如何回答“你有什么要问我的吗?”

本小妞迷上赌 提交于 2020-12-12 13:45:11
作者 | 安晓辉 来源 | 安晓辉生涯(ID:programmer_sight) 一般面试到最后,面试官都会问,“你有什么要问我的吗?” 而很多伙伴,其实不大理解为什么面试官要问这个问题,意识不到它的重要性。实际上,在面试的最后,面试官特意留下时间让你提问,目的有两个: 想知道你如果进了公司,最关心和重视哪些事情,这些会影响到你对工作的投入,对公司的贡献; 给你一个机会,通过提问来突显你的专业能力或态度。 企业和面试官需要的,不只是一个很会回答问题的“好学生”,更需要那些善于思考、能发现问题、对工作有热情、有期待的职场人。 所以呢,这是一个很重要的机会哦。能提出好问题,不仅可以帮助你了解这家公司、这个岗位是否适合自己;还能在面试官心中留下好印象,为你加分。而如果提问错了,则有可能让面试前大半部分的努力付诸东流,一着不慎,满盘皆输。 那么,什么样的问题能为你加分?什么样的问题不仅不加分,反而可能会带来负面影响呢? 加分问题 与工作以及公司发展相关的问题,容易加分,我列了一些供你参考。 1)这个岗位的具体要求和职责是什么? 除了职业描述上面显示的,这个岗位还有哪些其它隐性要求和职责?问这样的问题,会让面试官觉得你对这个岗位很有兴趣,也想做好这份工作。 同时,你也可以通过面试官的回答更真实深入地了解这份工作,来帮助你判断你是否真的喜欢它。 2)这个岗位的优秀员工需要哪些技能?

硬核干货!Redis 分布式集群部署实战

僤鯓⒐⒋嵵緔 提交于 2020-12-12 07:51:31
原理: Redis集群采用一致性哈希槽的方式将集群中每个主节点都分配一定的哈希槽,对写入的数据进行哈希后分配到某个主节点进行存储。 集群使用公式(CRC16 key)& 16384计算键key数据那个槽。 16384个slot均匀分布在各个节点上。 集群中每个主节点将承担一部分槽点的维护,而槽点中存储着数据,每个主节点都有至少一个从节点用于高可用。 节点通信方式: 开启一个端口 设置的端口号+10000,用于集群之间节点通信交换信息。 每个节点默认每秒10次选择随机5个节点发送ping消息,将自身信息和知道的集群信息传递,收到ping消息后返回pong消息做回复,最后通过这种随机的消息交换,最终每个节点将获得所有信息。 当某个主节点挂掉,所有节点将会发现主节点挂掉了,作为主节点的从节点,就会接替主节点的工作,然后告诉所有其它节点,他成为了主。这样其它存活节点,就将它们维护的信息表更新从节点将接任做主,如果都挂掉集群将报错。当从一个节点操作,根据一致性哈希计算后将存储在其中一个主节点中,从节点将同步主的数据。 redis cluster是去中心化的,集群中的每个节点都是平等的关系,每个节点都保存各自的数据和整个集群的状态。每个节点都和其他所有节点连接,而且这些连接保持活跃。 搭建集群时,会为每一个分片的主节点,对应一个从节点。实现slaveof功能,同时当主节点down

硬核干货! Redis 性能优化, 建议收藏!

六月ゝ 毕业季﹏ 提交于 2020-12-12 07:22:47
在一些网络服务的系统中,Redis 的性能,可能是比 MySQL 等硬盘数据库的性能更重要的课题。比如微博,把热点微博[1],最新的用户关系,都存储在 Redis 中,大量的查询击中 Redis,而不走 MySQL。 那么,针对 Redis 服务,我们能做哪些性能优化呢?或者说,应该避免哪些性能浪费呢? Redis 性能的基本面 在讨论优化之前,我们需要知道,Redis 服务本身就有一些特性,比如单线程运行。除非修改 Redis 的源代码,不然这些特性,就是我们思考性能优化的基本面。 那么,有哪些 Redis 基本特性需要我们考虑呢?Redis 的项目介绍中概括了它特性: Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported. 首先,Redis 使用操作系统提供的虚拟内存来存储数据。而且,这个操作系统一般就是指 Unix。Windows 上也能运行 Redis,但是需要特殊处理。如果你的操作系统使用交换空间,那么 Redis 的数据可能会被实际保存在硬盘上。关注公众号:程序员白楠楠,获取2020最新面试题 其次,Redis 支持持久化,可以把数据保存在硬盘上。很多时候

十年风雨,一个普通程序员的成长之路(三)

断了今生、忘了曾经 提交于 2020-12-12 04:54:39
感觉这个写不完了,怎么写着写着发现还有一些想说的话藏在这流水账里呢。 十年风雨,一个普通程序员的成长之路(三) **大雪.铜陵** 在神码,我的每一年都是阶梯式的成长。 -> 2012 程序员 -> 2013 开发组长 -> 2014 兼需求经理 -> 2015 开发经理 -> 2016 项目经理 -> 2017 项目经理 -> 2018 技术经理(程序员) 回到2012年,面试ok了,那就到合肥吧。当天便租了个房子,买了床被。 合肥9月的天气还是热得吓人,便常在公司办公的宾馆里流连不去。总是最后一个离去。 嗯,我们是在宾馆办公。还是三星级的。可是办公室简陋的好像个作坊似的。 此时在做的子项目叫电子税务局,这个项目顽强地支撑了安徽的税务多年的工作,在2016年金三全国推广后寿终正寝。 这个项目的核心研发只有两个人,一个我,一个另一位同事。 我们也是整个项目组留下的最久的研发人员,后来也都陆续成为了项目的管理者。 在这个项目里,我将在第一个公司里学到的反射练了一把,针对多个相同类似逻辑的财务报表,做表格解析处理。 也将自己仿造jQuery的轮子安在了这个项目里,直到项目消亡,我的轮子还在里面滚动着。 负责我们这个项目的管理者我们叫他曹工。也是我在神码的指导人,一般叫师傅。只是我开始不知道规矩,叫了曹工,后来便一直这么叫了下去。 后来熟悉了起来,我们叫他曹公公。哈哈。

如何快速批量刷站,我黑进自己学校的官网拿下大屏幕来告诉你!

╄→尐↘猪︶ㄣ 提交于 2020-12-12 04:27:51
零基础黑客教程,黑客圈新闻,安全面试经验 尽在 # 暗网黑客 # 转载自:https://xz.aliyun.com/t/7786 午安~更新这么久 想了想还是来个介绍吧! 我呢~只是个柠檬精,一枚小小的幕后文章搬运工~ 希望将更多文章呈现出来! 在你的学习生活的道路上留下一点足迹~ 不求关注!只望勿喷# 因为后台留言功能暂无法开启! 有什么疑问或者建议可以在后台留言~ 也可以加小师妹的微信,尽情的“突诉吧” 从1月份入坑到现在,已经5个月了。 这 五个月来一直在刷edusrc,并且在本月初成功达到了总榜第五名。 很多人问我如何快速批量刷站? 那么,他来了。 本次分享一次对自己学校的一次安全检测实战文章。 帮助萌新理清思路,同时,欢迎各位大佬指点不足。 1. 0x01 先看学校的域名ip地址,注意,这里我建议不要看主域名的,看二级域名的ip地址。 因为一些地区的职业院校都是集中统一在一台服务器上的,只有一些二级域名才会搭建 在学校的机房里面如我们学校的二级域名:creat. ** .com 上面搭建的系统是智慧校园系统。 IP归属地与学校地理位置符合 那么开始找C段 fofa关键词: 12.230..1/24在12.230..194:8000下面找到一个系统 功能不详 因为只有一个登录 类似系统有很多,比如OA等 这些系统开始都是一些登录,且是一个闭源程序,一没办法本地测试