- 博客(16)
- 收藏
- 关注
原创 优化定时任务MySQL数据库超时问题,慎用id主键
定时任务MySQL数据库超时的优化,慎用id主键实习过程中遇到了一个定时任务,每天将一个任务表中的任务状态刷新。随着数据的增加,因SQL超时导致任务失败……表的结构:自己创作的洗牌算法: 原因分析:解决方案:将代码修正成如下所示即可,总之srand初始化调用一次就行了,之后每次用rand就可以输出伪随机数。否则rand就会一直返回相同的值!#include <iostream>#include <ctime>using namespace std
2021-11-15 20:13:29
1570
原创 字节后台开发实习一二三面
字节后台开发实习一二三面之前字节第三面挂了(写unordered_map写炸了),以为春招已经结束了,结果字节在2周后把我捞了.在一个下午连续面完了一二三面。注:受限于篇幅,只列出重难点,较简单的八股文就不再罗列了。加粗部分为我个人掌握一般的,日后强化。一、一面基础知识用户态、内核态;什么样的操作要内核态;为什么要陷入内核态,有什么优点;内核态能提升效率吗。进程和线程的区别;为什么切换、创建进程开销大;为什么不能都用线程而不用进程;内存隔离是怎么实现的开放题:让我设计一个线程池,然
2021-05-20 18:32:25
421
3
原创 Java:从GC底层原理到JVM经典垃圾回收器
简单总结JVM的几种垃圾回收器虽然一直都在用C++很久没碰Java了,但还是心血来潮决定翻一下《深入理解Java虚拟机》,回味并总结一下Java Virtual Machine的垃圾回收机制。毕竟垃圾回收的核心思想是跨越语言的。基础知识Java内存区域分为五大部分,其中方法区和堆区是所有线程共享的;虚拟机栈、本地方法栈和程序计数器是每个线程独占一份的。下面简单概括下:方法区:储存常量、静态变量、类型信息等缓存。JDK8之前常被称为(误称)永久代,因为方法区难以回收,管理机制类似于永久代。当然JD
2021-04-23 19:35:10
262
原创 买卖股票最佳时机及衍生题
买卖股票最佳时机及其衍生题面试被问到了这系列问题,只能在事后亡羊补牢……题目一:能多次买卖股票,带手续费因为单次买卖的题目比较简单,所以跳过;多次买卖不带手续费和这题也一样,所以直接讨论这题:“给定一个整数数组prices,其中第i个元素代表了第i天的股票价格;非负整数fee代表了交易股票的手续费用。可以无限次地完成交易,但是每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。”方法一,STL自带sort函数class Solutio
2021-04-22 19:22:55
598
原创 C++:字符数组、C风格字符串和string的个人总结
C++ 字符数组、C风格字符串和string的个人总结近日在看C++ primer plus,复习了下字符串基础,因此写下字符数组、C风格字符串和string的一点个人总结,以巩固基础。日后随着学的知识的增加也会继续完善这篇文章。 字符数组:字符数组的数组名是一个常指针(const char*),不能修改他的指向。详情可以参考我的另一篇博客:C++ char数组不能用字符串赋值。 C风格字符串: 1.C风格字符串是一种特殊的char数组,字符数组以空字符(’\0’)结尾,因此C风格字
2021-04-11 15:11:18
645
1
原创 腾讯IEG后台开发实习二面
腾讯IEG后台开发实习二面IEG的后台开发二面,人生第一次二面,没想到是这样的……实际问的非常非常细这里并未全部展示。一、基础知识全是超细的基础知识加粗的为我个人不会,日后强化。1、操作系统内存是怎么分配的(虚拟内存方向)。问题一堆,其中有:“用什么手段监测虚拟内存的使用”我随便答了一些,后查发现Linux有个vmstat的虚拟内存实时监控工具。2、用户态、内核态。Windows NT内存空间划分。我说只知道Linux,但NT其实也是一样的,低地址用户,高地址内核。3、IO中断流程、中
2021-03-30 11:45:35
717
原创 腾讯IEG后台开发实习一面
腾讯IEG后台开发实习一面这已经是春招的第四面了,只是进度还是一面……这次面的是IEG的后台开发,面试官和蔼有趣,特别体贴,感动泪目,就算我不过也值了。 补充:四次一面的我本来都不抱希望,下午四点面的,吃个晚饭回来就过了,感天动地,面试官人真的太好了,感恩。一、基础知识面试开始前,我先了解了面试官的方向,他的工作包括各种游戏背后大数据处理等。加粗的为我个人不会,日后强化。1、各种不同网络模型,比如select、epoll了解的怎么样。。。我听不懂,只知道网络模型十个字,就硬答了OSI七
2021-03-27 19:45:04
378
原创 二战腾讯WXG后台开发实习一面(凉经)
二战腾讯WXG后台开发实习一面腾讯春招实习生面试,之前面试WXG后台开发凉了,被QQ安卓客户端部门捞了。捞了后面试也过了,但可能他觉得我更适合做C++开发毕竟我现在不用Java也没写安卓了,于是又把我打回WXG后台开发。。。于是我兜了一个大圈又回到了WXG后台开发一面。一、基础知识面试开始前,我先问了面试官是哪个部门的。然后开始个人介绍,接着面试官问我的个人项目(不是软件类的纯课余生活),接下来是问基础知识,因为这次面试忘了录制下来,所以只能记得自己不太会的一些东西,加粗为我个人不会的日后强
2021-03-25 13:33:11
1319
2
原创 C++ srand()只能调用一次,否则rand()每次返回相同值
C++ srand()只能调用一次,否则rand()每次返回相同值面试的时候写一个洗牌算法,接过遇到这个问题坑死我了,幸运的是面试官也不太看得出来问题出在哪,所以给了我足够时间去调试……问题描述:自己创作的洗牌算法:#include <iostream>#include <ctime>using namespace std;int GetRandomNumber(){ int RandomNumber; srand((unsigned)time
2021-03-23 12:07:55
2726
5
原创 腾讯QQ客户端实习一面
腾讯QQ客户端实习一面腾讯春招实习生面试,之前面试WXG后台开发凉了,被QQ安卓客户端部门捞了。面试官一样也是和蔼可亲,面试平台是坑爹的牛X网,全程听着自己的回音超级难受。后续是简历又回到了WXG一面,这是什么情况啊……一、基础知识面试开始前,我先问了面试官是哪个方向的客户端(移动or桌面,因为我只知道被客户端捞了不知道具体是哪个方向)。当我得知是移动客户端时我方了——Java和安卓开发已经荒废了N久,不过我的简历语言只写了C++,应该不会为难我。然后开始个人介绍,我强调了以前对Java很
2021-03-23 11:18:07
503
原创 用Quick Select解决TopK问题
TopK问题:从Quick Sort到Quick Select写这篇文章的目的也是为了巩固下基础。TopK问题链接:https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof/从一组数中找到最小的k个数(数组不为0、0 <= k < =size)方法一,STL自带sort函数class Solution {public: vector<int> getLeastNumbers(vector<int>
2021-03-21 20:59:04
368
原创 腾讯WXG后台开发实习一面凉经
腾讯WXG后台开发一面凉经WXG春招实习生面试,方向软件后台开发方向,二十分钟后凉了。面试官和蔼可亲,我说不会的他就不问了……一、基础知识一开始个人介绍,然后开始问基础知识,由计网和操作系统和C艹组成:加粗为我个人不懂的,日后强化。1,多线程和多进程的实现。2,守护进程的实现。。。3,网络编程是否熟悉,答socket,问我linux系统的socket,不知道(Linux相关都不知道)。。。4,TCP的time-wait状态和作用。5,服务器每个网络连接用什么标识(传输层端口,网络层
2021-03-19 12:07:31
678
3
原创 二叉树的指针操作误区
二叉树的指针操作误区:力扣的一道简单题:https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof/问题描述:镜像二叉树,很快就想到用递归去做,然后写下了如下的代码: TreeNode* mirrorTree(TreeNode* root) { if (!root) return root; reverseRoot(root, root->left, roo
2021-03-15 12:58:19
211
原创 使用回溯法/DFS时慎用“++”、“- -”符号:
使用回溯法/DFS时慎用“++”、“- -”符号:题目源于:剑指offer第12题,力扣链接:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/问题描述:题目是输入一个字符矩阵和一个字符串,判断是否可以在矩阵中找到一条路径满足该字符串。题目本身不算难,直接用回溯法/DFS,从找到第一个符合的字符开始(图中为A),向该字符的上、下、左、右位置的字符寻找,看是否能找到符合的第二、三个字符。所以我写出了如下的代码:if
2021-03-12 12:19:12
179
原创 C++ 连续赋值运算符重载,若没返回引用类型发生的错误
C++ 运算符重载返回引用类型“=”、+=“”、“>>”、“<<”等运算符支持连续赋值或可作为左值的运算符,返回类型必须为引用类型。问题描述:#include<iostream>using namespace std;class S {public : int x; S(int i) { x = i; } S operator = (S i) { x = i.x; return *this; }};int main()
2021-03-05 20:44:48
1037
原创 C++ char数组不能用字符串赋值
C++结构体中有字符数组时不能通过指针间址修改问题描述:原因分析:解决方案:问题描述:先贴一段错误代码,错误报告“表达式必须为可修改的左值”。#include<iostream>using namespace std;struct S { char name[10];};int main(){ S a, *s; s = &a; s->name = "abc"; cout << s->name;} 原因分析:因为这里是将
2021-03-04 23:17:58
3496
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人