All bites
The whole library, newest first. Filter by what you are here for, or pick a topic if you already know.
8668 bites
Page 159
Revenue Churn: Dollars Lost, Not Logos
Revenue churn tracks dollars lost from your existing base, not just headcount. In subscriptions, one enterprise downgrade can dwarf ten small cancellations. Teams often celebrate low logo churn while ignoring revenue churn that silently erodes growth.
Golden Path: The One Journey That Matters
Golden Path is the single user journey that drives core value. In growth, you optimize this highway before fixing side roads. The footgun is A/B testing edge cases while your main funnel leaks users.
Bayesian vs. Frequentist A/B Testing
Frequentist testing asks how surprising a result is if nothing changed; Bayesian asks probability B is better. Frequentist fixes sample size to control false positives, while Bayesian lets you peek.
Framing Effect: Presentation Rewires Decisions
The same fact hits differently depending on its wrapper. In growth, framing decides whether users see "90% uptime" or "10% downtime," swinging conversions without changing the product. Teams obsess over the offer yet ship copy that frames value as a loss.
Commitment and Consistency: The Identity Ratchet
People follow through on what they already said yes to. Use it to turn a tiny user action into sustained engagement, or to get a team to ship by making a public deadline. A coerced yes creates resentment, not consistency.
Scarcity Principle: Limit Availability to Drive Action
People want what they might lose. In growth, scarcity amplifies conversion by framing offers as limited in time, quantity, or access. The footgun is fake scarcity: invented limits destroy trust and backfire permanently.
Sessionization: Bounding Events into Visits
Sessionization groups raw user events into visits using idle timeouts. Teams use it to measure engagement and attribute conversions per sitting. The footgun is treating sessions as users, which inflates counts and wrecks retention analysis.
HEART Framework: Five Metrics for Product Health
HEART is a vital-signs panel for product health, not a single score. Use it to pick metrics for feature launches so you track user value, not vanity numbers. Measuring all five dimensions when only one matters creates dashboard bloat and analysis paralysis.
PPC: Buying Intent, Not Attention
PPC buys intent, not attention: you bid to appear when someone searches for what you sell, paying only if they click. Use it for high-intent offers like B2B software where organic reach is slow.

Explain the performance overhead of a cgo call
Tests cgo transition penalties and scheduler semantics. A strong answer cites the ~100x overhead (~171ns vs ~1.8ns), notes C blocks an OS thread and starves the scheduler, and warns about memory copy taxes. Red flag: claiming cgo is free or ignoring blocking.
Why must FFI-bound structs use #[repr(C)] and what breaks without it?
Repr(C) fixes field order, size, alignment to C rules for extern calls; omitting it lets Rust reorder or pad fields, causing UB.

Use a C malloc'd char* in Go and Rust, then free it
Tests FFI allocator discipline. In Go, copy with C.GoString then C.free the *C.char. In Rust, read via CStr::from_ptr, copy to String, then libc::free. Red flag: letting Go GC or Rust Drop manage C memory, or using CString::from_raw on C malloc'd pointers.
Pass a string from Go and Rust to C safely
This tests FFI ownership and null-termination. In Go, use C.CString then C.free it. In Rust, create a std::ffi::CString, bind it to a let, then pass as_ptr while the binding lives. Red flag: claiming Rust is auto-safe without mentioning the temp-drop gotcha.
Purpose of Go import C and Rust equivalent mechanism
This tests FFI entry points: Go's import "C" activates cgo to reference C symbols directly, while Rust uses an unsafe extern "C" block to declare external functions. A red flag is calling either a normal import or omitting unsafe in Rust.
Design a safe Rust wrapper taking &[i32] and returning Vec<i32>
Tests Rust FFI buffer-output encapsulation. A strong answer declares an unsafe extern C block, allocates a Vec with capacity, passes as_mut_ptr and a local size_t, validates returned length, then calls set_len.
Implement a custom derive macro for a Builder pattern
Tests proc-macro AST transformation. A strong answer lists: parse TokenStream with syn into DeriveInput, inspect fields, then quote builder code as TokenStream, noting the separate proc-macro crate. Red flag: treating tokens as strings instead of AST nodes.
What are Rust's three procedural macros and derive's advantage over macro_rules?
Tests Rust macros and AST generation vs text macros. Lists derive, attribute-like, and function-like macros, then explains derive needs AST introspection for per-field impl unreachable with macro_rules. Red flag: that macro_rules can iterate struct fields.
In Go's reflect package, what is settability and how is it obtained?
This tests whether you know reflection mutates only addressable storage. Settability means a Value points to actual memory; obtain it by calling reflect.ValueOf on a pointer then Elem, or on slice elements. Set panics when the Value is a copy, not an address.
Using reflect, iterate a pointer-to-struct's fields
Tests fluency with Go reflection for indirection and field traversal. Outline: ValueOf/TypeOf, guard IsValid, check Kind==Ptr, Elem to struct, loop NumField with Type for names and Value for values. Red flag: Field() on the pointer before Elem panics.
What does unsafe enable in Go and Rust? List two operations.
Go unsafe enables pointer arithmetic and type punning; Rust unsafe permits raw pointer dereferencing and FFI.