三年Android开发,从抖音离职后拿到快手爱奇艺等15家公司offer

码海星罗盘
• 阅读 5290

前言

我这篇文章并不是简单的描述一些面试中的题,或者总结一些Android的知识,而是想记录我整个的想法和准备的过程,以及一些心得体会,让大家更加全面的去看待工作、跳槽和生活(从我的角度,当然肯定有不合理的地方,大家借鉴就好)

在字节跳动的两年时间中见证了抖音从百万日活到2.5亿、团队从10人到100多人的过程,技术上不同时期的选型以及迭代、沉淀和更替。项目上经历了一个工程到模块化再到组件化最后插件化,深刻理解项目不同阶段和不同体量的时候技术框架的选型。流程上不同阶段不同的方案,一直在探索最大的效率的协同开发。产品上从不断试错到稳步发展的过程,也就是数据驱动业务的过程。

字节跳动是一个伟大的公司,优秀的同事真是数不胜数,我在其中只是一个菜鸟,仰望各种大佬,不管是从技术方面还是做人做事的方面都学到了很多、成长了很多

这次面试了以下几个公司(不是面试顺序):

趣头条、脉脉、瓜子二手车、快手、小红书、微软、亚马逊、Ihandy、饿了吗、爱奇艺等

其中面试没通过的是:脉脉(一面挂),其他的公司都到了hr面谈薪资,美菜网、音娱、动动、猿题库等公司hr开诚布公的跟我说给不了我要的价钱,虽然技术面评价不错,我也明白,由于拿到一些offer后,我对不太想去的公司会要的比较高,我自己都觉得肯定不会给。微软和亚马逊有另外的情况,因为当时已经基本确定拿到Airbnb的offer加上眼睛因为上火长了针眼,特别疼,就直接拒绝了。可能有同学发现了,为什么这次我没有去BAT去试试(百度、阿里、腾讯),百度的确没有投递,阿里和腾讯不是我不想去,实在是太慢了(可能是我没有走内推,而是在boss投递的原因),基本上是投递后一个月后才告诉我简历通过去面试。

一.为什么要跳槽

为什么要跳槽,这个问题一定要思考清楚,因为跳槽的成本其实是挺大的,在一家公司积累的不仅仅是人脉还有对当前行业以及业务的熟悉度,新进入一家公司,一切需要从头再来,需要快速的证明自己,尤其是技术人员,还有就是对新环境和代码的熟悉,这些都是成本,所以在跳槽前,一定要想好,为什么要跳槽。其实马爸爸有一句经典的话“要么钱没给到位,要么心委屈了”,说的很形象,我这里再细说一下:
1.钱没给到位,其实所有的人对自己的评价都是比自己真实的水平要高一些,这就导致,大部分人认为自己现在贡献很大,老板应该加薪,尤其是看到一些同事做的不如自己(可能是自己认为),工资拿的和自己一样,甚至比自己高,那就更加有钱给的少了的感觉。

2.做的事情是否有价值或者说是否有持续盈利的趋势,这个很重要,一个公司的产品不盈利没前景,就算给你开不错的工资,作为一个不想混吃等死的人来说,都不想继续再待下去。

3.机会,作为一个已经有3年工作经验的人来说,这个时候更加需要的是一个机会,能够证明自己,给公司带来更大的价值,完成进一步的突破,如果当前的公司并不能给你这个机会,那么你就需要考虑跳槽了。

那么跳槽的核心就是利益最大化,当然这里说的利益,不仅仅是薪资福利,还有自己的职业规划。

职业规划

作为技术人员,我大概总结了下面三个方向,其实哪个方向都是大有可为,关键还是要看自己。
1.技术经理
2.架构师
3.专项领域的专家

薪资福利

作为一个不再年轻的程序员来说,已经不能忽略薪资和福利,不再像刚毕业的同学,只要能成长、只要平台好,薪资什么的不重要。其实每个阶段都有自己的侧重点,我大概对薪资、平台、成长排了个序(自己的观点)

1~3年,平台>=成长>薪资
3~5年,平台>=薪资>=成长
5~10年,平台=薪资>成长(这个阶段也可叫做规划)
上面是自己不成熟的看法,从自身的一些经验出发的,仅供参考。

二.准备

这是最辛苦的阶段,你不仅要把日常的工作做好,还要开始着手准备刷题、基础知识准备以及高阶知识的准备,除此之外我还对英语进行了一些准备,由于不管是想去外企、出国以及看英文的文档,英语都是必不可少的,英语在我们的日常生活中也越来越重要,我们要,整个阶段大概持续了4个多月。其实每一次跳槽,都是对这几年工作的一个梳理和总结,虽然大家都明白“面试造火箭、进去拧螺丝”的道理,对于公司而言,这是筛选人才的一个方式,毕竟人是第一生产力,只要有优秀的人才,那么造出的火箭才可能“一飞冲天”。对于个人而言,如果公司里同事优秀的人,那么你肯定也不会差,我们肯定更希望和优秀的人一起共事。

刷题

我的方式还是之前的老套路LeetCode +《剑指offer》,虽然老,但是效果非常不错。这个过程不仅是个脑力活还是体力活,由于不能再公司刷题,我一般的选择方式是在晚上回到家后,由于公司经常加班,我通常到家是10:00-11:00期间,先锻炼半个小时(一会再聊这个事情),然后刷题半个小时到一个小时。当然也可以在上下班的路上抽时间看看题。

LeetCode,刷了300+的题,这里的刷并不是指仅仅只刷一遍,我来回刷了四遍,手写了一遍(写了200多道),保证我看到题目或者类似的题目,我能第一时间想出最优的解题思路。
《剑指offer》,这本书真的很棒,总结的很到位,以及每个阶段的思路写的都很详细,我是百看不厌,大概50+题,多看几遍,这能做到举一反三。
简历

简历的重要性就不言而喻了,怎么样写好简历是个技术活,当然如果你有很好的背景(学校或者公司),那么不管你怎么写,基本上都不刷掉你,我们作为一般的人还是需要下一番功夫的。拿我的简历作为例子,大概有以下几个部分:

  • 个人信息:姓名、出生日期、教育背景、博客地址、github地址、联系方式(手机、邮箱和微信号)
  • 工作经历:毕业后待过哪些公司,一般是倒序,项目尽量精简明了
  • 专业技能:自己熟悉的一些技能,这个为什么我写到最后,因为对于工作三年的同学来说,面试官更加注重的是你的项目经历,大部分面试都是看你的项目经历来提问

三.基础知识

由于面的Android岗位,需要准备一些Java和Android方面的知识,有很多的文章都会去介绍怎么去复习基础的知识或者进阶知识,或者是阅读一些经典的面试数据,例如任玉刚的《Android开发艺术探索》,都是非常不错的。大家可以根据网上的文章和一些数据梳理一个自己的知识体系,将一个一个知识点形成点再到面,这样能更加深刻的理解,而且有自己的侧重点,我就列举一下我的准备的方向:

这个是我的知识体系的总纲,下面放出全部的思维导图

三年Android开发,从抖音离职后拿到快手爱奇艺等15家公司offer

三年Android开发,从抖音离职后拿到快手爱奇艺等15家公司offer

三年Android开发,从抖音离职后拿到快手爱奇艺等15家公司offer

三年Android开发,从抖音离职后拿到快手爱奇艺等15家公司offer

三年Android开发,从抖音离职后拿到快手爱奇艺等15家公司offer

三.探探
探探的办公环境还是比较好的。

一面

OpenGL一些知识,顶点着色器、片元着色器的工作原理,什么是VBO(这个没想起来),以及shader的一些简单问题
View的事件传递机制
包体积优化
JVM相关知识,Dalvik和ART的区别
组件化的实现方案
算法题,ViewGroup的层级深度,转换为二叉树的层级深度

二面

二面面试官,比较注重思维,我理解为聪不聪明的意思,有点脑筋急转弯的意思,要求的最简单有效的方法。

RecyclerView防止内存OOM的一道题,充分利用自身的缓存机制,可能我始终没理解问题所在,虽然给出解决方案,但是面试官不满意,太繁琐
讨论LRUcache的实现和时间复杂度

三面

cto面试

聊了一下抖音发展的过程中我的角色,做过什么事情,有什么收益
在华为的一些经历,为什么离开华为
聊了一到算法题,查找两个字符串的交集和字符串1中有字符串2中没有的问题。
四面(不是一天)

这次主要是聊一下我将要做的工作,以及让其他面试官再次了解一下我,因为评级比较高,所以需要谨慎点。

总结

整体来说探探发展还是不错,尤其近两年要上市,环境也不错,管三餐,加班不严重,双休,工资也给力,但是也是由于近两年要上市,所以要做的东西还是比较多和急,需要你有一定的能力。

四. 趣头条
一面

在抖音上显示自己做的功能,框架的搭建,实现原理,所做的优化点等。
组件化的实现,为什么做组件化,不同实现的优缺点。
hashmap的实现原理
view的优化,减少层级,异步加载,x2c框架引入,优缺点,textview的优化。
mp4播放alpha视频实现的原理
一面面试官大概聊了1个小时左右,没让我写算法,细究原理和细节,非常仔细。

二面

冷启优化的一些方案。
数据驱动业务的理解,怎么做,和pm产生分歧怎么解决。
我所有做的优化的收益是什么,有什么数据支撑。
事件分发机制,举了一个具体的例子来解决。
http的一些问题,1.1和2.0区别,心跳机制,https怎么建立链接,怎么进行数据加密等。
为什么离开抖音,职业发展,诉求等。
聊了大概一个小时,面试官的思路相对独特,不是为做技术而做技术,技术始终要服务于业务,我非常认可。

总结

趣头条北京位于海淀,位置不靠近地铁,需要步行一段时间,不过效率挺高的,在面试完的第二天就给我发offer了,面试流程也相对较少。对趣头条的营收模式看的不是很清楚,类似发钱看新闻,但是现在头条也再做这个,趣头条能够搞得过头条是个问题,如果没有增长点,那后期的转型是什么(我瞎操心啥)?总体来说体验还是不错的,hr也很真诚,多次沟通,虽然最后我没有去,感兴趣的同学可以去看看。

五.瓜子二手车

瓜子二手车真的是太远了,从海淀到工作地方将近花费了2个小时,而且还不在地铁附近,还需要坐公交。

一面

聊了一下项目中做过的东西,字节码注入相关知识,transform优化,mp4礼物实现等
从桌面点击icon图标开始,整个启动activity的启动过程
Binder的实现原理
插件化的原理,以及hook点,大概有两个,可以网上搜索一下
hashmap的实现原理
单例的实现,sychrnized的实现原理,以及双锁不加volatile,会不会有线程安全问题
二叉树,读取每一层最右边的节点

二面

聊聊大概履历,以及在华为、字节跳动都做了什么,为什么要离开。
职业规划,怎么带领团队
代码设计的基础原则,以及用UML画出工厂模式
将两个有序的链表合并成一个有序的链表,递归和循环两中方式
时间分发机制,并且需要从Android的sensor开始到应用层,我只知道从Activity开始的流程。
聊操作系统Unix,汗颜,我知之甚少。
对新技术的看法(flutter),瓜子二手车也已经开始在项目中使用fultter相关技术

三面(总监)

自我介绍,为什么要离开抖音
线程安全的问题,sychronized和viloated的使用
实现一个CAS(乐观锁)的方法
HashMap的实现原理,怎么优化内存占用,优化resize的过程,这个是开放的问题

四面(VP?)

自我介绍,在抖音做了什么
在抖音做的比较好的两件事情
设计一个美团的框架,组件化

总结

瓜子二手车是众多二手车中做的还算比较好的公司,现在像优信、人人二手车好像都不是很好了,就是太远了,公司附近也没有地铁站,就算是公交站还需要走2公里,但是面试官感觉还是比较有水平的,后期的hr跟我谈也是诚意满满,整个团队在我来看,还是一个想做事情的态度。总体来说hr还是非常真诚的,想去的朋友可以考虑考虑。

六.最右

笔试题

Android中的引用关系

自定义view步骤

activity生命周期

一面

介绍最右的现状
常用的播放器,以及优缺点
opengl的绘制流程
音视频编解码的流程

二面

在抖音做的工作
性能优化,包体积优化,冷启优化,卡顿优化的一些实现方案
mvc mvp mvvm的区别,以及自己实现的轻量级mvvm的原理
编解码的相关知识
ijkplayer的优缺点,以及是否看过相关源码
flutter的探讨

总结

总体来说面试流程中规中矩,但是面试官的问题并不是很全面,更加关心的是自己的关心的领域,对于我提出的问题(大前端和flutter),见解也仅仅是需要对新技术保持一定的敏感度,后面hr让我去跟cto再谈一轮,因为考虑到各个方面的因素,就直接拒绝了。

七.小红书

一面

Activity的生命周期、fragment的生命周期,onRestart()什么时候调用
service的两种启动方式,service的生命周期
binder机制
进程保活:1.防止进程被杀 2.杀死后再拉起,详细的答案网上搜一下,这里就不列举出来了
app的包体积优化,lint、proguard、andresguard原理,字节码注入,删除R.java的变量,删除access$001方法,压缩图片资源和使用redex等。

二面

自我介绍
对JNI和C++了解吗?基本不了解,就略过了
Activity的launchMode,每个Mode的含义,Activity的启动流程
怎么样实现MP4播放alpha的视频,编解码的一些流程,NV20、YUV、RGB一些概念,SurfaceView和TextureSurfaceView的区别
组件化的实现,都有什么技术方案,优缺点
使用数组实现一个队列,有void add(int val)和void pop()两个函数,而且需要考虑扩容

三面(业务线负责人)

介绍自己,介绍在抖音做过的事情
哪两件事情做得最有成就感
怎样重构代码,基本的6大原则,详细讨论每个原则的含义,使用过的设计模式
假定场景,接口定义的有缺陷,第二版需要修改,是增加还是直接修改,以及还有没有其他的方案,怎么去做,为什么,这个是开放的题,结合设计原则,以及真实的情况和自己的一些例子说明即可

四面(Android负责人)

介绍自己,为什么离开抖音
mp4播放alpha视频的实现方案,详细解说
跨部门合作,具体的一个例子,怎么去沟通,假设一个例子,用最恰当的方式去沟通。
怎么向上管理以及向下管理

五面(类似VP级别)

对技术选型的看法,flutter、c++、java、kotlin,核心是解决问题
是否会使用kotlin,优势,以及在项目中真正带来的收益
组件化,依赖版本号不同的解决办法
插件化,一些实际问题的,具体是什么记不太清楚了

总结

小红书的装修真是豪,办公环境特别棒,但是面试流程有点多,足足面了5轮,不过总体来说技术还是很不错的,不论是广度还是深度,尤其最后一面,专门从上海飞来面试,十分荣幸,从这点就能看出公司对人才的重视程度,是一个值得加入的公司,hr小姐姐人美也真诚。

八.饿了吗
一面

包体积优化,Lint、proguard、andResGuard的原理,以及抖音做的一些包体积优化的方案
线程和线程池的讨论,为什么要用线程池,线程池各个参数的含义,如果队列满了会发生什么,为什么线程池的数量是cpu核数+1
好吧,记不起来了

二面

自我介绍
线程安全的方式,sychronized和volatile的区别
怎么自定义Transform、自定义Task,Task之间怎么依赖,大致顺序是什么,增量编译的概念,异步加快文件的读取,ASM接口的使用
cookie、session、token的含义和区别,这里我确实不熟悉,就直接说我不太清楚了。

三面

自我介绍
在抖音都做过什么事情,相关的几个方向深入讨论一下
对于架构的思考,怎样设计一个好的架构,6大设计原则,分别说明一下
用过什么设计模式,为什么要用设计模式,对于设计模式的思考
怎样提高开发效率,较少沟通成本,实例说明下
为什么要引入kotlin,优缺点
以后的规划

四面(交叉面)

介绍自己,为什么离开抖音
音视频的相关知识,NV20,YUV,RGB的关系,为什么mp4的压缩率比webp的动画要高,编解码的流程,通用的编码格式,软硬解的区别。
View的绘制流程,硬件加速的原理和软件绘制的区别,以及相关的view的优化
总结

总体来说面试体验还是不错的,三面面试官对于职业发展和新技术的见解都是非常深刻,也给与了我很多建议。

九.爱奇艺
一面

从Activity A跳到Activity B的生命周期的调用过程,如果是异步进程呢
冷起优化,systrace怎么使用,实现原理
ANR是什么,怎么上报ANR,有些手机拿不出,有些手机拿不出anr/traces.txt,怎么查找ANR问题
插件化的原理,Activity的启动流程,hook点
一个类,内部有一个链表的数据结构,实现void add(Node n)和void remove(int index)的函数

二面

介绍工作经验,为什么离开抖音
HashMap的实现原理
在抖音做的工作,主要说了ui优化和冷起优化两个部分,扩展开来,讨论了很多相关的知识点
手写消费者生产者模型的代码

总结

这次面试的是奇异果,并不是爱奇艺app,因为我还是想做app,二面之后,我就跟面试官说了我的想法,就没必要聊下去了,就直接走了。

十.快手
一面

handler介绍,为什么阻塞不会造成anr,屏障消息,产生内存泄露原因,handler内存泄露的引用链
事件拦截机制,view的绘制流程
android的系统渲染原理,renderthread的解释,三缓冲机制播放透明mp4的原理,surfaceview和textureview的区别
opengl的绘制流程,texturesurface是什么,顶点着色器和片元着色器各自作用,VOB是什么
一个无序的int数组,给一个target数字,找出数组中两个数字相加为target,并输出坐标

二面

二面面试官是facebook回来的,面试风格的确和之前的面试官讨论不一样

hashmap的实现原理,怎样找到index,size为什么是2的倍数,怎样resize,resize过后,之前的hash冲突还存在吗?currenthashmap的实现原理
怎样保证多线程的安全,什么是乐观锁,怎么使用
设计一个发送语音模块的架构,需要写出所有接口函数,并且需要详细说明,可能面试官更加在意设计能力,这里讨论的时间非常长。
view的绘制流程,onMeasure、onLayout、onDraw,各个参数是什么含义,尤其是widthMeasureSpec、heightMeasureSpec以及对应的AT_MOST、EXACTLY和UNSPECIFIED
数组中存有1-3的三种数字,例如[1,2,3,1,2,2,1,3,3],将其排序为[1,1,1,2,2,2,3,3,3],要求时间复杂度,后续将内容变为一个对象,继续排序

三面

工作经历介绍,为什么离开抖音
mp4播放alpha视频的原理,与其他方案的对比,收益点是什么
"之"字形打印二叉树
1~100盏灯,都是亮的,第一次将能被1整除的数的灯按下,变暗,第二次将能被2整除的数的等按下,变亮,第三次将能被3整除的数的等按下,变暗......第100次将能被100整除的数的灯按下,问,最后有多少盏灯是亮的。

总结

总体来说面试官的技术还是很厉害的,二面面试官的背景很好,思路也独特,有点外企风格。三面面试官比较注重算法,和解决问题的思路。整个面试流程真的是不太友好,三次面试去了三次,而且前两次都是在茶水间,一直说会议室订不到,环境特别嘈杂,而且前两次都是临近饭点,茶水间送饭更是杂乱,感觉快手效率和环境有一些混乱(个人面试感觉),但是不能否认快手在2018年的成绩还是很好的,尤其是直播的营收还是相当的不错。

十一.HR面总结

在大多数互联网公司内(除了外企),到了HR面,基本上已经定下来,正常的聊聊就能发offer了,只要别太“个性”,或者三观异于常人就能收到offer,大体就是一个积极乐观的态度。有几点需要注意下:

不要说前公司和前leader的坏话
对于为什么离开原公司,标准答案是目前公司不适合现有的自身发展,寻求更好的机会,(当然大部分都是因为钱 心知肚明就行,不用说出来)
展现自己积极乐观和乐于助人的一面
面试

面试过程其实大部分时候是,面试官或者公司是主导方,大部分的节奏是跟着面试官走,但是我觉得面试其实就是一个相互探讨的过程,不仅是公司在选择你,你也在选择公司、以后工作的同事和leader。所以我这次面试中,更多的是和面试官探讨,也会反问面试官一些问题,不仅仅是最后面试官说可以问他几个问题,在面试过程中就会询问一些,优秀的面试官会跟你探讨,并且讨论出一个合理的方案或者正确的答案,整个过程非常愉悦,相互都学习到了,但是有一些面试,则不太友好,问道的问题总是说自己回去百度一下,这个很让我无语。

这次最大的收获就是跟60多位面试官的交流,更加让我认清我自己,认清自己的长处、短板和以后的规划,和对做人做事的看法,在这里真诚的感谢60多位面试官。

互联网寒冬

对于这个话题,从我自身的角度而言有一些感触,从2018年开始互联网就一直有寒冬的说法,各大互联网开始裁员、缩减HC甚至对码农的年终奖下手(辛辛苦苦一年,就指望年终奖~),当然最近确实环境有一些波动,但是远没有网上传的寒冬已至那么严重。从我的面试结果来看就知道,互联网并不是寒冬,只不过是更加理智,对所有的面试者来说要求的更高,所以我们更加要注重自身能力的培养,这并不是说我们要全身心的投入到刷算法,背理论知识等,我们更加注重自己的理论知识怎样能够为公司、产品带来更大的价值,从软实力方面来说,不仅要把事情做好,更要做好向上管理和向下管理。个人建议:想好为什么要跳槽,无脑跳是最不好的情况,如果一定要跳槽,最好的情况是骑驴找马,不要裸辞,跳槽需谨慎!!跳槽需谨慎!!跳槽需谨慎!!

学历是否重要

我的答案是重要,我就是学历的受益者,只要投递出的简历都会邀请面试(除了一些对工作年限限制非常严格的企业,hulu)。当然,在互联网的圈子中,核心是你本身的技术,但是有多少人的技术能达到逆天或者非常牛逼的地步,如果你是这样的人,啥都不用说了,但是我觉得绝大部分的程序员都是普通人、平常人,不要说什么3年以后公司就不看学历了,学历是一辈子的事情,那些高考能够碾压你的人,出了社会只要他们愿意,照样能碾压你,你努力,你拼命,别人也不会睡大觉等你,所以,能提升自己的学历,还是要尽量提升的。

大公司VS小公司

“大公司拧螺丝、小公司独当一面,进步更快”,我不太认同这句话,当然具体情况具体分析,每个人的情况不同,但是我还是觉得大家能去大公司还是尽量去大公司,原因我总结了以下几点:

镀金,这一点我相信大部分同学都是赞同的,我就不赘言了。
知识的深度和积累,在大公司你能学到的东西更深和更加系统,而且可以有时间自己去思考和学习,尤其对于工作时间不长的同学。
和优秀的人一起工作,大公司碰到优秀同事的概率更大,像我这样的普通人其实都是在模仿和学习,正是由于身边有了优秀太多的人,才会有危机感,才有机会跟着他们去学习,学习他们怎样学习、怎样思考问题甚至怎样为人处世。在华为中有到鑫和李桥,在抖音中,有夏老师、江老师还有乐华大佬等等,太多人,我从他们身上学到太多的东西,有一些能让我受益终身。
选择

选择同样是非常重要的,选择的首要前提是你要有很多机会,不然你都没机会怎么选择,在很多机会摆在你面的时候,一定要认真思考,不要冲动,想好自己需要的,多听别人的意见,最后自己决定。我们不能保证每一次选择都是正确的,但是能保证我们是不后悔的,遇事要冷静,多思考。

这里说的选择不仅仅是选择去哪个公司,从事什么方向,还有与什么样的同事工作,选择什么样的leader,甚至是生活中的事情,网上说一个人要有一些成就,需要具备下面几点,我觉得非常的对:

你自己要行
有人觉得你行
觉得你行的人也行
生活与工作

其实这个话题对我来说有一些困惑,“工作是为了更好的生活”,这句话是非常正确的,但是作为一个没有背景、父母帮你付不起首付的普通人来说哪里来的享受生活,唯有不断努力、不断的进步才有更好的物质回报,北京是全中国的人才聚集地,在工作的三年中,我不敢有一丝的懈怠,因为身边比我条件好,能力比我强,年龄比我小的人太多了,不论在哪里资源的分配都是二八原则。有很多身边人说我是苦行僧,不懂得享受生活,太无趣,的确我不否认,但是我知道唯有这样,我才能为我的父母、爱人以及以后的孩子撑起一片天,反过来讲,这些又是我的动力。感慨有点多了,这个话题全看自己,我满意目前的一个状态。个人拙见,大家看看就行。

最后

感谢大家能耐着性子,看完我啰哩啰嗦的面经,以上仅是个人的观点。感觉两年稍纵即逝,在这两年中成长了很多,感谢所有帮助过我的人。

需要文章开头的知识体系图+如下视频教学资料的
请加我的交流群:892872246
三年Android开发,从抖音离职后拿到快手爱奇艺等15家公司offer

三年Android开发,从抖音离职后拿到快手爱奇艺等15家公司offer

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
2020年Android开发最新整理阿里巴巴、字节跳动、小米面经,你不看看吗?
前言2020年是转折的一年,上半年疫情原因,很多学android开发的小伙伴失业了,虽找到了一份工作,但高不成低不就,下半年金九银十有想法更换一份工作,很多需要大厂面试经验和大厂面试真题的小伙伴,想提前准备刷下题。接下来分享一份我的字节跳动、阿里巴巴、百度、小米等大厂面试经验和总结。(文末附真题解析大全)阿里(被拒)字节跳动(
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
可莉 可莉
3年前
2020年Android开发最新整理阿里巴巴、字节跳动、小米面经,你不看看吗?
前言2020年是转折的一年,上半年疫情原因,很多学android开发的小伙伴失业了,虽找到了一份工作,但高不成低不就,下半年金九银十有想法更换一份工作,很多需要大厂面试经验和大厂面试真题的小伙伴,想提前准备刷下题。接下来分享一份我的字节跳动、阿里巴巴、百度、小米等大厂面试经验和总结。(文末附真题解析大全)阿里(被拒)字节跳动(
Stella981 Stella981
3年前
Linux日志安全分析技巧
0x00前言我正在整理一个项目,收集和汇总了一些应急响应案例(不断更新中)。GitHub地址:https://github.com/Bypass007/EmergencyResponseNotes本文主要介绍Linux日志分析的技巧,更多详细信息请访问Github地址,欢迎Star。0x01日志简介Lin
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(