Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[讨论] 本仓库的建议、讨论等方面 #12

Open
huihut opened this issue Aug 19, 2018 · 47 comments
Open

[讨论] 本仓库的建议、讨论等方面 #12

huihut opened this issue Aug 19, 2018 · 47 comments
Labels
question Further information is requested

Comments

@huihut
Copy link
Owner

huihut commented Aug 19, 2018

这个仓库原本只是我的个人笔记,鉴于越来越多人关注,而本人技术略渣,希望大家可以提些建议,或者可以在这个 issue 讨论些关于面试方面的东西。比如:

  • 需要增加什么知识点?
  • 如何分类排版才更高效地复习与检索?
  • 如何勘误,发现错误如何改正?(new issue、pull)
  • 如何提交或添加你的知识点、总结、面经?(new issue)
  • 等等

(本 issue 只涉及讨论、建议、疑问等方面,内容勘误、提交贡献还请新建一个 issue 或 pull)

@huihut huihut changed the title [讨论] 本仓库的建议、讨论等方面,来水一水! [讨论] 本仓库的建议、讨论等方面 Aug 19, 2018
@chanwoood
Copy link

面试时发现自己没啥项目经验,希望增加一些项目,只需给出项目的链接即可。

@huihut
Copy link
Owner Author

huihut commented Sep 14, 2018

@96chh 看到你的一个repo,疑似广工校友? : )

关于项目经验,这个在简历中还是写自己做过的项目好,这里有几个可以看看:

另外,这个我就不加到仓库里了,因为这个太因人而异了,和面试知识关系不大。

希望能帮到你。

@kelvinkuo
Copy link
Contributor

建议 @huihut
STL中的容器类型表,建议加上最差、平均的算法复杂度

@huihut
Copy link
Owner Author

huihut commented Oct 27, 2018

@kelvinkuo 已添加,可以看看是否有错误

@huihut huihut added the question Further information is requested label Oct 28, 2018
@xinghun
Copy link

xinghun commented Dec 15, 2018

“带纯虚函数的类叫虚基类”这一描述怕是有误。虚基类,virtual base class,对应的概念是虚继承,跟纯虚函数没啥关系,含有纯虚函数的类叫抽象类或抽象基类,abstract base class,还有其他叫法么?

@huihut
Copy link
Owner Author

huihut commented Dec 15, 2018

@xinghun 已改,感谢

@huihut
Copy link
Owner Author

huihut commented Dec 25, 2018

新增语雀镜像仓库(C/C++ 面试基础知识总结),让想要右侧目录却又不喜欢装插件的朋友有了更多选择,同时语雀支持导出PDF、Word等功能。

@huihut
Copy link
Owner Author

huihut commented Dec 25, 2018

Q:为什么 readme 文件这么长?
A:一级页和多级页各有优劣,但在快速查找知识点 (如电话面) 和全文搜索的时候,一级页有着多级页无法比拟的优势,因此本仓库的知识点主要集中在 readme 这个一级页中,所以 readme 才这么长。

@huihut
Copy link
Owner Author

huihut commented Feb 27, 2019

💡 许多朋友都觉得 readme 实在太长了,因此现在做了两个版本:

默认主页面是合起来的 📘 目录,习惯了原来全部展开的朋友在 📖 README Details 页面阅读就好了。

💡 推荐使用右侧目录 jawil/GayHub TOC 导航,三秒定位知识点。

💡 还有把之前在顶部的这串内容也删了:

📚 C/C++ 面试基础知识总结,只为复习、分享。勘误新增请 IssuePR,建议、讨论请移步 issues/12,排版使用 中文文案排版指北,版权协议遵循 CC BY-NC-SA 4.0

萌即正义!
简洁即正义!

@huihut
Copy link
Owner Author

huihut commented Mar 5, 2019

@lorenzorut 是常指针,不一定指向常对象

int a = 1;
const int b = 2;
const int *c = &a;    //正确
c = &b;               //正确
*c = b;               //错误

你可以看看 http://www.runoob.com/w3cnote/c-constant-pointer.html

@lorenzorut
Copy link

lorenzorut commented Mar 5, 2019

嗯,明白你说的意思。我刚表述的也不是指一定指向“常对象”,我是把“常指针” 当成 “指针常量”了,然后发现原来你说的是“常量指针”,所以又删了。不过runoob的链接里面关于“指针常量”的表述反倒有误。

不过,关于“void function3(char* const Var); // 参数指针为常指针” 是否有误?
此处指针应为“指针常量”,而非“常量指针“? @huihut

又详细了解了下,发现“常指针” 等价于 “指针常量”,所以“void function3(char* const Var); // 参数指针为常指针” 此处无误。Var指针为指针常量,即常指针,指向地址不能更改,指向地址的内容可以修改。
void function()
{
// 对象
A b; // 普通对象,可以调用全部成员函数
const A a; // 常对象,只能调用常成员函数、更新常成员变量
const A *p = &a; // 常指针
const A &q = a; // 常引用
...
}
“const A *p = &a; // 常指针” 该处,仍然有误,p指针指向一个“常对象”,属于“常量指针”,指向内容不能更改,指向地址可以随意更改,而非“常指针” @huihut

@huihut
Copy link
Owner Author

huihut commented Mar 5, 2019

@lorenzorut 常指针(const pointer) 等于 常量指针(const pointer) 不等于 指针常量(pointer to const)

我检查了一遍,仓库的 const 使用并没有错,你再想想或者网上找找教程吧。

另外,勘误最好创建一个新的 issue。

@Zackkkliu
Copy link

感谢分享

@a74731248
Copy link

在数据结构的链式结构里的linklist with head中,enqueue_Lq函数里,当L==null和当l->next ==null的逻辑是不是错了

@huihut
Copy link
Owner Author

huihut commented Mar 28, 2019

@a74731248 已转到 issues#34 交流。

@xindelvcheng
Copy link

InsertSort第一层循环结束条件有错误。

@huihut
Copy link
Owner Author

huihut commented May 20, 2019

@xindelvcheng 已改,感谢。

@Medivhcrf
Copy link

C实现C++类无法打开,显示404

huihut added a commit that referenced this issue Jun 16, 2019
@huihut
Copy link
Owner Author

huihut commented Jun 16, 2019

@Medivhcrf 已更新,感谢。

@hbsun2113
Copy link

建议加上多线程和并发编程的相关内容。如果内容太多,希望能列出一个相关书单,这样也可以弥补c++ primer的缺失。

@huihut
Copy link
Owner Author

huihut commented Jun 22, 2019

@hbsun2113 好的,之后会考虑安排上,感谢。

@fighterhit
Copy link

details里面还有好多没展开啊,能否全部展开呢想打印一下,语雀还没更新。

@huihut
Copy link
Owner Author

huihut commented Jun 24, 2019

@fighterhit 现在 details 展开了,语雀弃用,改用:https://www.huihut.com/interview

@Allen1218
Copy link

可增加一下:linux下,内存泄露、踩内存、句柄泄露、死锁、死循环等问题检测的方法

@huihut
Copy link
Owner Author

huihut commented Sep 7, 2019

@Mrtj2016 感谢。是重写;那句的原意都是指实例化的,但你一提还有歧义,所以改成 这样 ,你看看

@int6
Copy link

int6 commented Sep 10, 2019

Effective C++ 条款31,“如果能过够” 是否应该是 ”如果能够“。

@shicheng0829
Copy link

可以加上select,poll,epoll等的比较,还有redis等面试常问的

@pan-lj
Copy link

pan-lj commented Nov 22, 2019

数据库关系数据理论里3NF应该是“消除 2NF 主属性对码的传递函数依赖”

@DiDongDongDi
Copy link
Contributor

DiDongDongDi commented Feb 28, 2020

int count = 0;        // 全局(::)的 count

class A {
public:
    static int count; // 类 A 的 count(A::count)
};

int main() {
    ::count = 1;      // 设置全局的 count 的值为 1

    A::count = 2;     // 设置类 A 的 count 为 2

    int count = 0;    // 局部的 count
    count = 3;        // 设置局部的 count 的值为 3

    return 0;
}

这里需要加上int A::count = 2;, 必须先在类外初始化吧

@huihut
Copy link
Owner Author

huihut commented Feb 28, 2020

@DiDongDongDi 已改,感谢

@VoidxHoshi
Copy link

VoidxHoshi commented Mar 7, 2020

const A *p = &a; // 常指针
此应该为指针常量或指向常量的指针(推荐)(pointer to const),而非常量指针(推荐)或常指针(const pointer)。
PS:当然实际pointer to const是指不能通过该指针修改指向的值,指向的值如果不是const依旧可以修改。
例子:
int a = 1;
int *b = &a;
const int *c = &a;
cout << *b << *c << endl; //11
*b = 2;
//*c = 2; //wrong
cout << *b << *c << endl; //22

const A &q = a; // 常引用
常引用用词不好,它的常跟常指针的常完全是相反意思,应该用指向常量的引用(reference to const),然而const reference毫无意义跟reference没区别,这里用词就很奇怪了。

另外建议规范和解释用词,本来it名词中文翻译就极其混乱,不同书中这2个概念都是不同的,甚至是反的,甚至有另外一套说法。

真是不想吐槽IT名词翻译之混乱了。

@huihut
Copy link
Owner Author

huihut commented Mar 10, 2020

@VoidxHoshi 感谢,再次修改了下 const,不整那么多乱七八糟的,也在这里汇总一下:

  • 指针
    • 指向常量的指针(pointer to const)
    • 自身是常量的指针(常量指针,const pointer)
  • 引用
    • 指向常量的引用(reference to const)
    • 没有 const reference,因为引用本身就是 const pointer

huihut added a commit that referenced this issue Mar 10, 2020
@huihut huihut pinned this issue Apr 3, 2020
@chenzhihuan17
Copy link

chenzhihuan17 commented May 9, 2020

建议将readme里面的图片链接换成国内链接,不然没有梯子的同学打开后可能是这样的:
1

我fork了一份到gitee,可以将README里面的https://raw.githubusercontent.com/huihut/interview/master/images
全部替换为
https://gitee.com/zhihuanchen/interview/raw/master/images

或者你自己在gitee里面fork一份也行。

@reedthink
Copy link
Contributor

TCP黏包这个概念,其实是不存在的。所谓黏包是程序员对TCP字节流的处理出现了错误。不知道作者对于这个怎么看?

@dongfengweixiao
Copy link

建议增加Linux开发常见的系统调用的总结,对于服务器端开发,epoll这样的系统调用非常重要。

@20minute
Copy link

20minute commented Jun 8, 2020

建议把STL解析里的重复例子合并一下,增加可阅读性,比如array::begin 和 array::end。另外 array::cend 例子输出有误。应为 15 720 801 1002 3502

@modao233
Copy link

你好,我有个疑惑:基数排序的代码实现,用的更像是计数排序而不是桶排序,桶排序同一个桶是桶内有序的,而代码实现里好像没体现这一点

@kwongtailau
Copy link
Collaborator

kwongtailau commented Sep 21, 2020

建议将readme里面的图片链接换成国内链接,不然没有梯子的同学打开后可能是这样的:
1

我fork了一份到gitee,可以将README里面的https://raw.githubusercontent.com/huihut/interview/master/images
全部替换为
https://gitee.com/zhihuanchen/interview/raw/master/images

或者你自己在gitee里面fork一份也行。

这个可以有,只是图片有点多,稍过一阵子有空的时候换上。
我看看是放到 gitee 或者 GitHub 上托管图片,还是放在图片外链的平台上托管。

@SongkranSky
Copy link

可以把“21种设计模式”先完善完!

@Sneexy
Copy link

Sneexy commented Mar 24, 2021

问题代码可以添加leetcode链接,方便看题解,只看代码的话有些不懂为什么。 或者觉得麻烦的话可以提示不清楚可以去搜关键字找题解

@Sneexy
Copy link

Sneexy commented Apr 3, 2021

看到楼上提到设计模式,推荐这个网站,讲得很通俗易懂,分类清晰,附有伪代码和各种语言的实现,https://refactoringguru.cn/design-patterns

@VoidmatrixHeathcliff
Copy link

关于 typeid 部分,第二个列表项的 type_id 是否应该为 typeid?🤔

@ybybwdwd
Copy link

计算机网络那里,TCP应该端到端通信吧,ip协议才是点对点

@w272628569
Copy link

w272628569 commented Dec 30, 2021 via email

@w540665710
Copy link

w540665710 commented Dec 30, 2021 via email

@Kinvy66
Copy link

Kinvy66 commented Nov 9, 2023

关于C++ 纯虚函数,纯虚函数是可以在类外进行具体实现的定义,详见:https://stackoverflow.com/questions/2089083/pure-virtual-function-with-implementation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests