工作两年、985本社招跳槽看go机会的同学的面试辅导

大家好,今天来和各位同学一起复盘一个工作两年、985本看社招跳槽看go机会的同学的面试辅导过程。 2年的工作经验我觉得已经足够成为一个资深工程师了,意味着可以独立地负责从端到端的一个业务、熟练掌握工作流中的各项技术。但是今天帮一个985本两年工作经历的go开发同学做了社招跳槽的模拟面试。不谈工作水平,他的面试水平确实比不过今年的校招同学。 和很多工作了多年的程序员一样,我觉得他犯了一个很重要的错误就是,缺乏相对来说比较深入的点。他甚至都没有办法讲清楚自己的业务逻辑。运用了非常多的技术但是缺乏对于底层原理的思考。没有思考过底层设计问题。在如今这样一个存量竞争的时代,一个好的职位的稀缺性已经高于好的技术的稀缺性的时代,我觉得这样的候选人在正式的面试中被刷掉是非常正常的一个情况,即使他是985+科班+大厂经历。 在这里,我还想说我一直很反对“单纯面向钱编程”的做法:算法岗收入多,就刷大量相关课程,恶补机器学习;Java方向火,赚得多,就报培训班,参加集训营......除非自己所在的方向已经进入了长期的下行通道,否则真正能够支撑一个人在职业发展的道路上有长足的竞争力的,还是自己日积月累构建起来的技术壁垒。 附部分面试考察内容如下: 计算机网络: 1.Cookie的参数有哪些? 2.Cookie和session的对比? 3.什么是token? 4.传递token的过程中有什么安全性的问题? Go基础: 1.逃逸分析? 2.Channel 是被分配在了栈上还是堆上? 3.defer的原理? 4.CPU核数为2时开多少个线程比较合适? 并发编程: 1.Go有哪些常见的并发原语? 2.Map是线程安全的吗? 3.如何设计一个线程安全的map? 4.SingleFlight 和 CyclicBarrier 情景题: 1.实现一个Word文档中的单词拼写检查功能? 2.字典树?前缀树、后缀树? 3.LRU?有什么优化? 4.Reids?跳表?

#春招##面经##社招#
全部评论
大佬帮我看看我的回答有哪些不足之处。 计算机网络: 1、cookie的参数好像是有七种,name/value,用于存放用户名和值。domain用于指定域名。maxAge是cookie的失效时间。path是地址。httpOnly好像是和安全有关,还有两个不记得了。 2、Cookie和session的对比 cookie是存储在客户端上,session是存储在服务器上,前者的最大好像的4k,后者没有规定。cookie存储的类型只能是字符串,如果存储其他的需要转换成字符串,而session可以随意存储。因为session是存储在服务器上的,所以session是比cookie安全的。 3、什么是token token就是一个令牌,是一个字符串,用来鉴权的。 4.传递token的过程中有什么安全性的问题? 不清楚。 Go基础: 1.逃逸分析 细节不是很清楚,大致意思就是在程序编译阶段,根据程序中代码的数据量,来分配哪些变量分配到堆上,哪些分配到栈上进行静态分析的一种方法。 2.Channel 是被分配在了栈上还是堆上? 堆上 3.defer的原理? 原理不是很清楚,但只知道跟坐电梯一样,先进后出。 4.CPU核数为2时开多少个线程比较合适? 不清楚 并发编程: 1.Go有哪些常见的并发原语? goroutine、sync包下的Mutex、RWMutex、Once、Cond、channel、Context 2.Map是线程安全的吗? 不是线程安全的。在同一时间段内,让不同 goroutine 中的代码,对同一个字典进行读写操作是不安全的。字典值本身可能会因这些操作而产生混乱。 3.如何设计一个线程安全的map? 用sync.Map? 4.SingleFlight 和 CyclicBarrier 不清楚
1 回复 分享
发布于 2023-02-06 17:44 江西
m,感觉很多问题都招架不住
点赞 回复 分享
发布于 2023-03-24 20:23 湖北

相关推荐

在看数据的傻狍子很忙碌:学生思维好重,而心很急,自己想想真的能直接做有难度的东西吗?任何错误都是需要人担责的,你实习生可以跑路,你的同事领导呢
点赞 评论 收藏
分享
05-12 16:04
已编辑
江西财经大学 Java
点赞 评论 收藏
分享
评论
3
31
分享

创作者周榜

更多
牛客网
牛客企业服务